Google Kubernetes Engine: Basic to Advanced on Google Cloud

via Udemy

Go to Course: https://www.udemy.com/course/google-gke/

Overview

Welcome to this amazing course on Google Kubernetes Engine: Basic to Advanced on Google Cloud, featuring various real-time lab sessions.Google Kubernetes Engine (GKE) is the simplest and most common way to set up a Kubernetes cluster on GCP.Below is the list of assignments covered in this course.1. Assignment: Create the First Pod Using YAML in Kubernetes GKE2. Assignment: Kubernetes Pod Restart Policy - GKE3. Assignment: Working with Labels and Selectors in Kubernetes GKE4. Assignment: Scaling & Replication in Kubernetes GKE5. Assignment: Deployment and Rollback in Kubernetes GKE6. Assignment - Containers within a Pod Communicate via localhost in GKE7. Assignment - Containers Communicate via localhost using a Specific Port in Kubernetes GKE8. Assignment - Pod-to-Pod Communication via POD IP in Kubernetes GKE9. Assignment - Kubernetes Services: ClusterIP in GKE10. Assignment - Kubernetes Services: NodePort in Kubernetes GKE11. Assignment - Kubernetes Services: LoadBalancer in Kubernetes GKE12. Assignment - Create a POD with attached emptyDir volume in Kubernetes GKE13. Assignment - Create a POD with attached hostpath volume GKE14. Assignment - Persistent Volumes for Storage in Kubernetes Cluster GKECourse OutlineSection 1: Kubernetes IntroductionWhat is KubernetesWhy do we use Kubernetes?Kubernetes Implementations - GCP, AWS, Azure, Minikube etcMonolithic approach for developing applications.Microservices Vs. MonolithicKubernetes Gateway APIEvolution of Containers, Dockers & VMsMicroservices running as containersKubernetes - Orchestration or container management toolFeatures of KubernetesSection2: Architecture of the Kubernetes ClusterThe architecture of the Kubernetes ClusterUnderstand architecture with various examplesWorking with KubernetesRoles of Master NodeComponents of Control Plane (Master Node)API ServerEtcdSchedulerController ManagerKubeletService ProxyPODContainer Engine - Docker, Containerd, or RocketSection 3: Setup of Kubernetes Cluster in GCPSet up a Kubernetes Cluster in GCP EnvironmentCluster basics, Node Pools, Networking etc.Activate cloud shell to access Kubernetes ClusterConfigure KubectlSection 4: Kubernetes Concepts in GCPCreate the first POD using manifest file written in YAML LanguageHow to deploy ubuntu pod in Kubernetes?Check logs for pods and containers in KubernetesCreate multiple containers in a PODRetrieve information from running containersGet a Shell to a Running ContainerMultiple Containers in a Pod (Ubuntu, Nginx Web Sever)Download image for containers like Curl, Ubuntu, Nginx etc.Image Pull Policy of containersKubernetes AnnotationsDefine Environment variablesPod-to-pod communicationLogin to Cluster nodes using cloud shell or control planeSection 5: Kubernetes Pod Restart PolicyOverview of Pod Restart PoliciesThree restart policies: Always, OnFailure & NeverLab - Restart Policy: AlwaysLab - Restart Policy: OnFailureLab - Restart Policy: NeverSection 6: Labels and Selectors in KubernetesLabels & SelectorsLab - Labels and SelectorsCommands for managing labels & selectorsDeclarative vs. Imperative Kubernetes commandsLab - Search the pod using labelsTwo types SelectorsEquality BasedSet basedLab - Search the pod using set-basedOverview of Node SelectorLab - Create a pod on a specific nodeSection 7: Scaling & ReplicationWhat is ReplicationController - RC?Features of RCLab - Create Replicas of POD using RCLab - Deleting a pod of ReplicationControllerLab - Scale-up & scale-down the pod: ReplicationControllerWhat is ReplicaSet - RS?Lab - Create Replicas of POD using ReplicaSetLab - Scale-up & scale-down the pod: ReplicaSetDifference between ReplicationController & ReplicaSetSection 8: Deployment and RollbackOverview of Deployment and RollbackLab: Launch two PODs using deployment objectLab: upgrade the application v1 to v2 using deployment objectLab: Roll back the application to previous versionLab: Roll back to any specific versionSection 9: Kubernetes NetworkingOverview of Kubernetes NetworkingContainers within a POD communicate via localhostContainers communicate via localhost using a specific portPod-to-pod communication via Pod IPPractice Lab - Pod-to-pod communicationSection 10: Kubernetes Services: ClusterIP, Nodeport and LoadBalancerObject - ServiceWhy service is required?Service type - Cluster IP, NodePort & LoadBalancerLab 1 - Access the Web appl using Cluster IPLab 2 - Access the Web appl using Cluster IPLab 1 - Access the Web appl using NodePortLab 2 - Access the Web appl using NodePortLab 3 - Access the Web appl using specific NodePortAbout LoadBalancerLab 1 - Kubernetes Services: LoadBalancerLab 2 - Kubernetes Services: LoadBalancerSection 11: Volumes in Kubernetes ClusterOverview of Volumes in Kubernetes Cluster.Volume types - EmptyDir, hostpathLab1: Create a POD with attached emptyDir volumeLab2: Create a POD with attached emptyDir volumeLab1: Create a POD with attached hostpath volumeLab2: Create a POD with attached hostpath volumeSection 12: Persistent VolumesOverview of Persistent volumesCreate a storage class for GKECreate a Persistent Volume using PVCGKE Pod With Persistent VolumeSection 13: RBAC Policies for Securing Kubernetes ClusterIntroductionKey components of RBACHow RBAC works?How Role and RoleBinding Work TogetherKubernetes Roles: Defining Permissions and AccessPermissions Granted by Kubernetes RolesCreate a roleBind the Role to a User or Service AccountSection 14: Set Up a Minikube Kubernetes Cluster on Google CloudProject OverviewLaunch VM for Minikube ClusterActivate Cloud Shell and Connect to VMMinikube Kubernetes Cluster Setup - Practical Lab 1Minikube Kubernetes Cluster Setup - Practical Lab 2Minikube Kubernetes Cluster Setup - Practical Lab 3Start Minikube and Deploy Nginx PodSection 15: Client Authentication using SSL/TLS CertificateSet Up New Namespace & Launch PodOverview of Client Certificate GenerationGenerate a Private KeyGenerate a Certificate Signing Request (CSR)Sign a CSR with Minikube's CA to Generate a User CertificateSet and Verify Client Credentials in Kubernetes ConfigSection 16: RBAC: Role and RoleBindingCreate a RoleCreate RoleBinding to Assign Role to UserTest RBAC PermissionsSection 17: Access the K8s Minikube Cluster as a UserList and Manage Kubernetes ContextsSet Up a New Context for a UserVerify RBAC Permissions with New ContextModify and Test RBAC Role PermissionsSection 18: Set Up and Verify Network Policies for PodsIntroduction to Kubernetes Network PoliciesWhy Restrict Pod-To-Pod Communication?Understanding K8s Network Policies and CNI PluginsExample Use Case ScenariosSection 19: Lab: Restrict Pod Communication Using Network PoliciesStart Minikube with Cilium CNICreate Two Pods with LabelsVerify Pod Connectivity Using CurlCreate Ingress Network Policy to Restrict Pod AccessCheck if Pod-to-Pod Access is BlockedRestrict Ingress/Egress Traffic with Network PolicySection 20: Securely Access Minikube Cluster Using MobaXterm or PuTTYDeploy a Virtual MachineAdd User and Setup SSH AuthenticationCreate SSH Key PairConvert Private Key to.ppk FormatVM Access TroubleshootingDeploy Minikube on Virtual MachineInitialize Minikube ClusterSection 21: Secure Deployment and Access of Nginx on KubernetesOverview of Securing Nginx with HTTPSDeploy and Expose a Nginx Pod to External TrafficAccess Nginx Web Server Through HTTPSet Up Nginx on Host Machine for Accessing Nginx PodAccess Nginx Web Server via Web Browser (HTTP Only)Section 22: Implement HTTPS for Nginx in a K8s Cluster Using TLS CertificatesDeploy and Expose a Nginx Pod to External TrafficGenerate a self-signed TLS CertificateStore the TLS Certificate as a SecretCheck Minikube's Ingress Controller StatusCreate Ingress Resource for HTTPSLast Lecture

Skills

Reviews