Class7 Azure Container Registry (ACR) and Kubernetes: Seamlessly Manage, Deploy, and Scale Your Docker Images
Step-by-step explanation for each topic covered in Class 7, focusing on Docker Administration and Kubernetes Administration, with examples.
In today's Class 7, we covered Docker Administration and Kubernetes Administration with hands-on demos and real-world scenarios. Let’s take a step-by-step look at everything we learned today! 👇
Docker Administration Recap 🐳
We started by diving into Docker and its essential components, focusing on managing private repositories and pushing custom images to Azure Container Registry (ACR).
Key Takeaways:
Create a Custom Docker Image:
We created a custom Docker image using a sample image from Docker Hub, tagged it, and then pushed it to a private repository in Azure Container Registry (ACR).
Azure Container Registry (ACR):
We created an ACR instance under the careerbytecode-app resource group using the following commands:
az acr create --resource-group careerbytecode-app --name careerbytecoderepo --sku Basic --admin-enabled true
Push and Pull Docker Images to ACR:
We pulled the sample image (
nginx
), tagged it for ACR, and pushed it to the registry:
docker tag nginx careerbytecoderepo.azurecr.io/nginx:v1.0
docker push careerbytecoderepo.azurecr.io/nginx:v1.0
Access Images in ACR:
We verified the pushed image and accessed it from the Azure Portal under the Azure Container Registry.
Kubernetes Administration Recap 🚀
We also started Kubernetes Administration and set up a 3-node Kubernetes cluster (1 master and 2 worker nodes) on Ubuntu VMs.
Key Takeaways:
Kubernetes Cluster Setup:
Master Node Setup:
We configured the master node, initialized the cluster, and set up networking with Calico.
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr=192.168.0.0/16
Worker Node Setup:
Worker nodes joined the cluster with the following command:
kubeadm join 172.31.33.189:6443 --token <token> --discovery-token-ca-cert-hash <hash>
Kubernetes Networking:
We applied the Calico networking solution to allow the pods to communicate across nodes:
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.1/manifests/calico.yaml
Cluster Health Check:
After the cluster was set up, we used the following command to monitor the status of the nodes:
watch -n 1 kubectl get nodes
What's Next?
Stay tuned for upcoming classes where we’ll dive deeper into Kubernetes management, Docker Swarm, and advanced orchestration techniques! 📦✨
💡 Watch Class 7 Recording now to get hands-on with Docker and Kubernetes!