DevCentral

Deploy an App into Kubernetes Using Advanced Application Services


Listen Later

Introduction Welcome to week three of the Kubernetes and BIG-IP series. In the previous article we learned how easy it is to deploy complex applications into Kubernetes running on Google Container Engine (GKE). As you might imagine, that ease could quickly lead to large numbers of applications running in an environment. But what if you need application services on those applications? Suppose that you want a centralized TLS policy for all applications, including those deployed into Kubernetes? What if you plan to implement DDoS protection at an operational level, and not within the application? Suppose that your organization intends to deploy applications using more sophisticated approaches, such as blue/green deployments or canary releases made possible by iRules? Perhaps you need other advanced traffic management capabilities. If only there were a way to bring all of the power of advanced application delivery controllers into Kubernetes, then Kubernetes applications could have the same assurances that you give on-premises and cloud applications. Up until recently, blending BIG-IP with containers was impossible, but now that ability is available, and this article will walk you through it. This article walks through deploying an application with multiple instances then ties into a BIG-IP for application delivery. Requirements In order to perform the steps in this article, you will need a few things. Access to Google Cloud and familiarity with using it (see the previous article for details) A BIG-IP license As long as you have the above two items, you are ready to go. The next section gives an overview of F5’s Container Connector. Container Connector Container Connector is a containerized application that you install into Kubernetes that enables a BIG-IP to control a pool of pods. Once configured, as pods are created and destroyed, the corresponding BIG-IP pool members are also created and destroyed. This allows the BIG-IP to manage traffic for the pods, while letting the developers continue to deploy applications into Kubernetes. In the next section you will walk through the deployment. Deployment Deployment falls roughly into three sections: BIG-IP, Container Connector, and the actual application. Deploy BIG-IP To Deploy BIG-IP in Google Cloud, go to the launcher page at https://console.cloud.google.com/launcher/search?q=f5. From there choose the “F5 BIG-IP ADC Best -BYOL” option. Next, launch the BIG-IP. The next page provides default settings for several virtual machine parameters. At the bottom of the page are some firewall defaults and a Deploy button. Click Deploy to deploy the BIG-IP. It will take three or four minutes for the deployment to complete. Once the BIG-IP image boots, it will have a dynamic external IP address that changes on every reboot. In a real deployment we would take steps to obtain a static IP address but for this exercise, the external IP address is fine. Just be aware that the external address will change when the BIG-IP reboots. The next step is to set the admin password on the BIG-IP. To set the password, click on the SSH button. You will see a message about Google Cloud trying to transfer keys to the VM. After a few seconds you may see an error message. Do nothing. Instead, wait for another 10 seconds or so and the SSH session will be established. At the prompt, enter the command to modify the admin password. modify auth password admin You will be prompted for a new password and asked to confirm that password. Try to avoid characters that might create problems for BASH or other command shells. For example, avoid the bang (exclamation point) character and the question mark. For this exercise, I have changed the password to “nimda5873” and will use that password below. Close the SSH browser tab. The final step is to log into the BIG-IP instance and license it. Click on the instance name. The next page shows details about the instance, including its external IP address. In my case, the external IP ad
...more
View all episodesView all episodes
Download on the App Store

DevCentralBy F5 DevCentral Team