This is a tutorial to script a simple web application deployment in an enterprise grade Kubernetes cluster that you can follow on your Macintosh. You only need to install Docker and enable Kubernetes. The frontend of the web application is represented by an NGINX container that listens on port 80 and returns the NGINX default […]
Helm takes values that we pass into the Helm deployments and transforms a template (also known as a chart) to Kubernetes resources. It is a wrapper around Kubernetes resources. It calls kubectl in the background to create the resources on the fly.
For security reasons it is not a good practice to create individual load balancers for each service. The safer way is to create one application load balancer outside of the cluster and launch ingress controller NGINX containers to proxy the traffic to the individual services. Ingress “Ingress exposes HTTP and HTTPS routes from outside the […]
Kubernetes provides ways to check the health of pods. Liveness and Readiness Probes can monitor the health of the pods. We can specify an address in the pod what Kubernetes can curl and if 200 http response code is returned, the pod is considered healthy.
A pod can contain one or multiple containers, usually one. Kubernetes only recommends to launch multiple containers in a pod, when those containers need to share a volume. For example a syslog-ng container saves log files in a volume, a Splunk Heavy Forwarder container monitors them and sends the log entries to the Splunk Indexer. […]
You only need a deployment to launch a container in Kubernetes. Deployments tell Kubernetes what container to run by specifying the Docker image name and tag spec: template: spec: containers: – image: when to pull the image from the registry spec: template: spec: containers: imagePullPolicy: If the image is always rebuilt with the same version, […]
How many Kubernetes clusters do I need? Clusters First, we want to separate the non-production and production environments: Create two Kubernetes clusters for every application or application suite. One for pre-production and one for production. Namespaces We also want to separate each non-production and production like environment. Kubernetes offers namespaces to create segregated areas, resources […]
Get all deployments Get all pods Scale the deployment Check the result of the scaling with Get the deployment events at the end of the output of To scale down the replicas, execute the scale command again
Kubernetes Services route traffic across a set of pods. The service specifies how deployments (applications) are exposed to each other or the outside world. Service types The service type specifies how the deployment will be exposed ClusterIP The ClusterIP service is only visible within the cluster. To expose the pod to other services in the […]
Get Started with Docker (great tutorial on the Docker website)