This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at www.eksworkshop.com.
Installing the Bitnami standalone nginx web server Chart involves us using the helm install command.
A Helm Chart can be installed multiple times inside a Kubernetes cluster. This is because each installation of a Chart can be customized to suit a different purpose.
For this reason, you must supply a unique name for the installation, or ask Helm to generate a name for you.
How can you use Helm to deploy the bitnami/nginx chart?
HINT: Use the helm
utility to install
the bitnami/nginx
chart
and specify the name mywebserver
for the Kubernetes deployment. Consult the
helm install
documentation or run the helm install --help
command to figure out the
syntax.
helm install mywebserver bitnami/nginx
Once you run this command, the output will contain the information about the deployment status, revision, namespace, etc, similar to:
In order to review the underlying Kubernetes services, pods and deployments, run:
kubectl get deploy,po,svc
In the following kubectl
command examples, it may take a minute or two for
each of these objects' DESIRED
and CURRENT
values to match; if they don’t
match on the first try, wait a few seconds, and run the command again to check
the status.
The first object shown in this output is a Deployment. A Deployment object manages rollouts (and rollbacks) of different versions of an application.
You can inspect this Deployment object in more detail by running the following command:
kubectl describe deployment mywebserver
The next object shown created by the Chart is a Pod. A Pod is a group of one or more containers.
To verify the Pod object was successfully deployed, we can run the following command:
kubectl get pods -l app.kubernetes.io/name=nginx
And you should see output similar to:
The third object that this Chart creates for us is a Service. A Service enables us to contact this nginx web server from the Internet, via an Elastic Load Balancer (ELB).
To get the complete URL of this Service, run:
kubectl get service mywebserver-nginx -o wide
That should output something similar to:
Copy the value for EXTERNAL-IP
, open a new tab in your web browser, and
paste it in.
It may take a couple minutes for the ELB and its associated DNS name to become available; if you get an error, wait one minute, and hit reload.
When the Service does come online, you should see a welcome message similar to:
Congratulations! You’ve now successfully deployed the nginx standalone web server to your EKS cluster!