Upgrade to Pro — share decks privately, control downloads, hide ads and more …

code_to_deploying_to_K8s_cluster.pdf

Vrushali Raut
August 11, 2024
6

 code_to_deploying_to_K8s_cluster.pdf

Vrushali Raut

August 11, 2024
Tweet

Transcript

  1. Code to K8s: Overcoming Deployment Challenges Agenda Foundation Steps to

    deploy applications on gke cluster 1 2 3 4 Troubleshooting with deployment Common challenges 5 Application Specific challenge
  2. Code to K8s: Overcoming Deployment Challenges Understanding the Real Estate

    Journey - Real estate service application provide services like Property Exploration, reservation, documentation, modification, finalisation - Customer Experience at Sales Centres Challenges in Customer experience - Manual check-ins - Long wait times - Mismanagement of queues - Lack of personalised service
  3. Code to K8s: Overcoming Deployment Challenges Queue Management Application -

    QR based auto check-in system - QR code scanning - Queue management based upon customer type - Real time updates for receptionist's
  4. Code to K8s: Overcoming Deployment Challenges Queue Management Application -

    QR based auto check-in system Impact and Benefits :: - Shortened wait times - Streamlined service process - Better queue management - Enhance receptionist productivity - Higher conversion rate
  5. Code to K8s: Overcoming Deployment Challenges Deploy Springboot application on

    k8s cluster :: Steps :: 1) Setup cluster :: - Install dependencies - Configure database - Configure Redis - Configure cron job spec on argocd 2) Configure Kubectl :: 3) Containerise your application :: - Create a Dockerfile for your application - Build and push the Docker image to a container registry
  6. Code to K8s: Overcoming Deployment Challenges Deploy Springboot application on

    k8s cluster :: Steps :: 4) Define Kubernetes manifests - - Run the manifest files - Do port forwarding - Check JSON data to be hit on Postman - Database entry check - CI/CD Integration: Integrate CI/CD pipelines for automated deployments. 5) Security - Implement security best practices - Secure communication with TLS - Implement RBAC (Role-Based Access Control) to control user and service account permissions
  7. Code to K8s: Overcoming Deployment Challenges Troubleshooting deployment :: Kubernetes

    Troubleshooting :: - Logging, events, checking pod health - Application Level Troubleshooting :: - Distributed Tracing - tools - Stackdriver - Shedlock implementation - - Isolate environment - Namespaces
  8. Code to K8s: Overcoming Deployment Challenges Common challenge we face

    during deployment :: - 1) Image Pull Issues: - Ensure images are correctly tagged - Image stored in accessible registries - Have Correct permissions - 2) Resource Limits - Decision over standalone cluster / managers cluster - Properly set resource request and limits to avoid resource contention - 3) Network policies - Configure network policies to control traffic flow and enhance security. - 4) Pod scheduling - - Address pod scheduling issues due to resource constraints or node affinity rules.
  9. Code to K8s: Overcoming Deployment Challenges Common challenge we face

    during deployment :: - 5) Cluster Updates with configMap: - Kubernetes secret changes does not reflect at application level - Solution - 1 - Restart kubernete pod - K8s annotation - Monitors configMap hash and restart cluster automatically - K8s monitoring using reloader Reloader
  10. Code to K8s: Overcoming Deployment Challenges Common challenge we face

    during deployment :: - 6) Kubernetes Upgrades & Compatibility - Performing upgrades of Kubernetes versions or managing compatibility between different Kubernetes components can be challenging. - Use Kubernetes versioning tools like kubeadm or Kops for simplified cluster upgrades. - Validate compatibility between Kubernetes versions and components before performing upgrades.
  11. Code to K8s: Overcoming Deployment Challenges Application Specific challenge are

    facing during deployment :: - Different setup on dev Versus prod - Standard cluster with cron job running on argoCD Versus - Managed cluster (GKE Autopilot) with cron job running on argoCD