Lab 0. Access a Kubernetes cluster¶
Set up your kubernetes environment¶
For the hands-on labs in this tutorial repository, you will need a kubernetes cluster. One option for creating a cluster is to make use of the Kubernetes as-a-service from the IBM Cloud Kubernetes Service as outlined below.
Use the IBM Cloud Kubernetes Service¶
You will need either a paid IBM Cloud account or an IBM Cloud account which is a Trial account (not a Lite account). If you have one of these accounts, use the Getting Started Guide to create your cluster.
Use a hosted trial environment¶
There are a few services that are accessible over the Internet for temporary use. As these are free services, they can sometimes experience periods of limited availablity/quality. On the other hand, they can be a quick way to get started!
Kubernetes playground on Katacoda This environment starts with a master and worker node pre-configured. You can run the steps from Labs 1 and onward from the master node.
Play with Kubernetes After signing in with your github or docker hub id, click on Start, then Add New Instance and follow steps shown in terminal to spin up the cluster and add workers.
Set up on your own workstation¶
If you would like to configure kubernetes to run on your local workstation for non-production, learning use, there are several options.
Minikube This solution requires the installation of a supported VM provider (KVM, VirtualBox, HyperKit, Hyper-V - depending on platform)
Kubernetes in Docker (kind) Runs a kubernetes cluster on Docker containers
Microk8s Installable kubernetes packaged as an Ubuntu
Install the IBM Cloud command-line interface¶
- As a prerequisite for the IBM Cloud Kubernetes Service plug-in, install the IBM Cloud command-line interface. Once installed, you can access IBM Cloud from your command-line with the prefix
- Log in to the IBM Cloud CLI:
- Enter your IBM Cloud credentials when prompted.
Note: If you have a federated ID, use
ibmcloud login --sso to log in to the IBM Cloud CLI. Enter your user name, and use the provided URL in your CLI output to retrieve your one-time passcode. You know you have a federated ID when the login fails without the
--sso and succeeds with the
Install the IBM Cloud Kubernetes Service plug-in¶
- To create Kubernetes clusters and manage worker nodes, install the IBM Cloud Kubernetes Service plug-in:
ibmcloud plugin install container-service -r Bluemix
Note: The prefix for running commands by using the IBM Cloud Kubernetes Service plug-in is
- To verify that the plug-in is installed properly, run the following command:
ibmcloud plugin list
The IBM Cloud Kubernetes Service plug-in is displayed in the results as
Download the Kubernetes CLI¶
To view a local version of the Kubernetes dashboard and to deploy apps into your clusters, you will need to install the Kubernetes CLI that corresponds with your operating system:
For Windows users: Install the Kubernetes CLI in the same directory as the IBM Cloud CLI. This setup saves you some filepath changes when you run commands later.
For OS X and Linux users:
Move the executable file to the
/usr/local/bindirectory using the command
mv /<path_to_file>/kubectl /usr/local/bin/kubectl.
Make sure that
/usr/local/binis listed in your PATH system variable.
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
- Convert the binary file to an executable:
chmod +x /usr/local/bin/kubectl
Configure Kubectl to point to IBM Cloud Kubernetes Service¶
- List the clusters in your account:
ibmcloud ks clusters
- Set an environment variable that will be used in subsequent commands in this lab.
kubectlto point to your cluster
ibmcloud ks cluster config --cluster $CLUSTER_NAME
- Validate proper configuration
kubectl get namespace
- You should see output similar to the following, if so, then your're ready to continue.
NAME STATUS AGE default Active 125m ibm-cert-store Active 121m ibm-system Active 124m kube-node-lease Active 125m kube-public Active 125m kube-system Active 125m
Download the Workshop Source Code¶
guestbook has the application that we'll be deploying.
While we're not going to build it we will use the deployment configuration files from that repo.
Guestbook application has two versions v1 and v2 which we will use to demonstrate some rollout
functionality later. All the configuration files we use are under the directory guestbook/v1.
kube101 contains the step by step instructions to run the workshop.
git clone https://github.com/IBM/guestbook.git git clone https://github.com/IBM/kube101.git