SlideShare a Scribd company logo
1 of 22
Download to read offline
Deploying to Day N
Operations of Kubernetes
and Containerized Apps
Anthony Ramirez
March 2020
© 2019 Nebulaworks, Inc.
DEVOPS PRACTITIONERS,
SOFTWARE DEVELOPERS,
ENGINEERING MANAGERS
WHO IS THIS TALK FOR?
© 2019 Nebulaworks, Inc.
OPERATIONALIZING KUBERNETES IN A CLOUD
WITH TERRAFORM (IaC)
LEVERAGING AGILE
WHAT IS THIS ABOUT?
© 2019 Nebulaworks, Inc.
DIVERSE METHODS/PROCESS IN
DEVELOPMENT
PLETHORA OF TOOLING
WHY?
© 2019 Nebulaworks, Inc.
Desirable
1. Deploy cluster in a consistent way
2. Ease of management of cluster, and write efficient
code/configs that can be updated transparently
3. Iterate quickly and safely on container applications, have
stable code releasable every 2 weeks.
Managed K8s
Services
K8s Managed Service Options
Managed
Service
Offering Multi-AZ Persistent
Volumes
Version RBAC
GKE GA Yes Block 1.15.8 Yes
EKS GA Yes Block 1.15.10 Yes
AKS GA Yes Block and
CIFS
1.16 Yes
IaC and K8s
Infrastructure as Code (IaC)
Manage and provision resources in cloud platforms with source code
Declarative
Define what the desired
resources and
dependencies that should
exist
Terraform
Cloud agnostic deployment
tool to provision resources
using a declarative language
Source code
as
Source of Truth
Leverage software development
practices to manage and test
IaC
Desired State
Management
Use IaC to increase replicability
and consistency in platform
deployments
© 2019 Nebulaworks, Inc.
How we build something
1. Identify the problem to solve, team and timeline
2. Create formal specification for the desired system
3. Kickoff meeting - “Divide and Conquer” - Plan, Build,
Test, Deploy Repeat
4. Issues are tracked on Kanban board
5. Release end of every bi-weekly sprint, regroup,
reorganize
6. At the end of timeline repeat Step 1
.
├── terraform
| ├── roots
| │ ├── dev
| │ │ └── k8s-platform
| │ ├── stage
| │ │ └── k8s-platform
| │ └── prod
| │ └── k8s-platform
| └── modules
| └── k8s-platform
└── docs
AWS AccountMultiple Environments Desired
Upgrading
Upgrading a Cluster
• Assumptions: AWS, EKS Terraform Module
1. Configure Cluster Autoscaler (CA) (github kubernetes/autoscaler)
2. Run Terraform changes to update Launch Config to new AMI
3. kubectl drain --force --ignore-daemonsets --delete-local-data
nodeA
4. Workloads will be rescheduled to untainted nodes
5. CA will create new nodes
6. Repeat steps 3 through 5
7. CA will terminate old nodes automatically
Additionally...
8. Kube-proxy, CoreDNS, Amazon VPC CNI, GPU support etc
Containers
Container Adoption Model
Holistic view of the evolution of container adoption
Initial Container Adoption
Initial deployment of CaaS,
no standards around
development, no
requirements of apps or
teams
CI/CD1
All groups are aligned with
adoption, standard
branching strategy
enforced, leverage cloud
operating model, CI in place
for apps, identification of
security domains
Standardization &
Modernization
Enforce security best
practices for
container/image creation,
execute securing all
security domains, parallel
app and infra pipelines with
common tools, process for
updating CaaS
End-to-End telemetry, security
High degree of monitoring and
logging capabilities, service
discovery/registration,
end-to-end security policy and
governance, tooling and
systems are flexible and can
accommodate change
TEAM CAPABILITIES
BUSINESS VELOCITY
© 2019 Nebulaworks, Inc.
CI / CD1 / CD2
Continuous Workflow Maturity
From scripts to CD-II
Script-based Testing
Individual or team-level scripted
assembly and testing of
applications. Entry-level
configuration management. Little
to no automation
Continuous Integration
Application and Infrastructure
pipelines having initial repo-level
automation for assembly and testing.
Continuous Deployment (CD-II)
Parallel application and infrastructure
pipelines supporting modern deployment
methods (blue/green, canary) leveraging a
common set of tools supporting the
infrastructure, platform, and application
services
Continuous Delivery (CD-I)
High degree of automation, leveraging
automated delivery and configuration of
applications and of Infrastructure as
Code. Ability to leverage pipelines in
parameterized builds in any
environment.
© 2019 Nebulaworks, Inc.
Master
branch-1
branch-2
The Development
Process
Open PR Update PR Update
PR
WIPWIP READY
Open PR Update PR
WIP READY
test
Thank You!

More Related Content

What's hot

The elements of kubernetes
The elements of kubernetesThe elements of kubernetes
The elements of kubernetes
Aaron Schlesinger
 

What's hot (20)

GKE Tip Series how do i choose between gke standard, autopilot and cloud run
GKE Tip Series   how do i choose between gke standard, autopilot and cloud run GKE Tip Series   how do i choose between gke standard, autopilot and cloud run
GKE Tip Series how do i choose between gke standard, autopilot and cloud run
 
Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...
 
Security threats with Kubernetes - Igor Khoroshchenko
 Security threats with Kubernetes - Igor Khoroshchenko Security threats with Kubernetes - Igor Khoroshchenko
Security threats with Kubernetes - Igor Khoroshchenko
 
From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?How are containers enabling 20th Century Fox to release the next great movie?
How are containers enabling 20th Century Fox to release the next great movie?
 
Starting with Kubernetes
Starting with KubernetesStarting with Kubernetes
Starting with Kubernetes
 
Aws summit 2019 running kubernetes
Aws summit 2019   running kubernetesAws summit 2019   running kubernetes
Aws summit 2019 running kubernetes
 
Aws + kubernetes = ❤︎
Aws + kubernetes = ❤︎Aws + kubernetes = ❤︎
Aws + kubernetes = ❤︎
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
Anthos Application Modernization Platform
Anthos Application Modernization PlatformAnthos Application Modernization Platform
Anthos Application Modernization Platform
 
Persist your data in an ephemeral k8 ecosystem
Persist your data in an ephemeral k8 ecosystemPersist your data in an ephemeral k8 ecosystem
Persist your data in an ephemeral k8 ecosystem
 
2015 DockeCon monitoring presentation
2015 DockeCon monitoring presentation2015 DockeCon monitoring presentation
2015 DockeCon monitoring presentation
 
Kubernetes Helm: Why It Matters
Kubernetes Helm: Why It MattersKubernetes Helm: Why It Matters
Kubernetes Helm: Why It Matters
 
The elements of kubernetes
The elements of kubernetesThe elements of kubernetes
The elements of kubernetes
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
 
10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOps10 Good Reasons: NetApp for DevOps
10 Good Reasons: NetApp for DevOps
 
Kubernetes @ pixel
Kubernetes @ pixelKubernetes @ pixel
Kubernetes @ pixel
 
Azure Pipeline
Azure PipelineAzure Pipeline
Azure Pipeline
 
Spinnaker Chadev
Spinnaker ChadevSpinnaker Chadev
Spinnaker Chadev
 

Similar to Deploying to Day N Operations of Kubernetes and Containerized Apps

Crossing the river by feeling the stones from legacy to cloud native applica...
Crossing the river by feeling the stones  from legacy to cloud native applica...Crossing the river by feeling the stones  from legacy to cloud native applica...
Crossing the river by feeling the stones from legacy to cloud native applica...
OPNFV
 

Similar to Deploying to Day N Operations of Kubernetes and Containerized Apps (20)

Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKSMigrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
 
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
OSDC 2017: Automating Kubernetes Cluster Operations with Operators by Timo De...
 
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
OSDC 2017 - Timo Derstappen - Automating kubernetes cluster operations with o...
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptxKubernetes on on on on on on on on on on on on on on Azure Deck.pptx
Kubernetes on on on on on on on on on on on on on on Azure Deck.pptx
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
Episode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-ServiceEpisode 1: Building Kubernetes-as-a-Service
Episode 1: Building Kubernetes-as-a-Service
 
Micro service in aws meetup
Micro service in aws   meetupMicro service in aws   meetup
Micro service in aws meetup
 
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...Persistent Storage for stateful applications on Kubernetes made easy with Ope...
Persistent Storage for stateful applications on Kubernetes made easy with Ope...
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with Kubernetes
 
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
 
OSO Confluent GitOps Demo
OSO Confluent GitOps DemoOSO Confluent GitOps Demo
OSO Confluent GitOps Demo
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 
Containers and Kubernetes
Containers and KubernetesContainers and Kubernetes
Containers and Kubernetes
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
 
[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes
[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes
[DW Webinar] Effective Management of APIs and the Edge when Adopting Kubernetes
 
Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018Data Agility for Devops - OSI 2018
Data Agility for Devops - OSI 2018
 
Crossing the river by feeling the stones from legacy to cloud native applica...
Crossing the river by feeling the stones  from legacy to cloud native applica...Crossing the river by feeling the stones  from legacy to cloud native applica...
Crossing the river by feeling the stones from legacy to cloud native applica...
 
Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service
 
How To Overcome Day 2 Kubernetes Challenges.pdf
How To Overcome Day 2 Kubernetes Challenges.pdfHow To Overcome Day 2 Kubernetes Challenges.pdf
How To Overcome Day 2 Kubernetes Challenges.pdf
 

More from Nebulaworks

More from Nebulaworks (19)

Dynamic Policy Enforcement for Microservice Environments
Dynamic Policy Enforcement for Microservice EnvironmentsDynamic Policy Enforcement for Microservice Environments
Dynamic Policy Enforcement for Microservice Environments
 
Overcoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystemOvercoming scalability issues in your prometheus ecosystem
Overcoming scalability issues in your prometheus ecosystem
 
Why we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVisionWhy we chose Argo Workflow to scale DevOps at InVision
Why we chose Argo Workflow to scale DevOps at InVision
 
Methods to stay focused & productive amidst COVID-19!
Methods to stay focused & productive amidst COVID-19!Methods to stay focused & productive amidst COVID-19!
Methods to stay focused & productive amidst COVID-19!
 
Embracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CDEmbracing service-level-objectives of your microservices in your Cl/CD
Embracing service-level-objectives of your microservices in your Cl/CD
 
Embacing service-level-objectives of your microservices in your Cl/CD
Embacing service-level-objectives of your microservices in your Cl/CDEmbacing service-level-objectives of your microservices in your Cl/CD
Embacing service-level-objectives of your microservices in your Cl/CD
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
Distributed tracing with service meshes and tracing spans across polyglot Mic...
Distributed tracing with service meshes and tracing spans across polyglot Mic...Distributed tracing with service meshes and tracing spans across polyglot Mic...
Distributed tracing with service meshes and tracing spans across polyglot Mic...
 
Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies Managing Terraform Module Versioning and Dependencies
Managing Terraform Module Versioning and Dependencies
 
Kubernetes for Beginners
Kubernetes for BeginnersKubernetes for Beginners
Kubernetes for Beginners
 
End to End immutable infrastructure testing
End to End immutable infrastructure testingEnd to End immutable infrastructure testing
End to End immutable infrastructure testing
 
Building Modern Teams and Software
Building Modern Teams and SoftwareBuilding Modern Teams and Software
Building Modern Teams and Software
 
Kuberntes Ingress with Kong
Kuberntes Ingress with KongKuberntes Ingress with Kong
Kuberntes Ingress with Kong
 
A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices A Hands-on Introduction on Terraform Best Concepts and Best Practices
A Hands-on Introduction on Terraform Best Concepts and Best Practices
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Building a Container Platform with docker swarm
Building a Container Platform with docker swarmBuilding a Container Platform with docker swarm
Building a Container Platform with docker swarm
 
Effective Micoservice Design & Containers
Effective Micoservice Design & Containers Effective Micoservice Design & Containers
Effective Micoservice Design & Containers
 
Fast Tracking Dev Teams to Container Adoption
Fast Tracking Dev Teams to Container AdoptionFast Tracking Dev Teams to Container Adoption
Fast Tracking Dev Teams to Container Adoption
 
Nebulaworks | Optimize Your DevOps Game
Nebulaworks | Optimize Your DevOps GameNebulaworks | Optimize Your DevOps Game
Nebulaworks | Optimize Your DevOps Game
 

Recently uploaded

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
Health
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 

Recently uploaded (20)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 

Deploying to Day N Operations of Kubernetes and Containerized Apps

  • 1. Deploying to Day N Operations of Kubernetes and Containerized Apps Anthony Ramirez March 2020 © 2019 Nebulaworks, Inc.
  • 2. DEVOPS PRACTITIONERS, SOFTWARE DEVELOPERS, ENGINEERING MANAGERS WHO IS THIS TALK FOR? © 2019 Nebulaworks, Inc.
  • 3. OPERATIONALIZING KUBERNETES IN A CLOUD WITH TERRAFORM (IaC) LEVERAGING AGILE WHAT IS THIS ABOUT? © 2019 Nebulaworks, Inc.
  • 4. DIVERSE METHODS/PROCESS IN DEVELOPMENT PLETHORA OF TOOLING WHY? © 2019 Nebulaworks, Inc.
  • 5. Desirable 1. Deploy cluster in a consistent way 2. Ease of management of cluster, and write efficient code/configs that can be updated transparently 3. Iterate quickly and safely on container applications, have stable code releasable every 2 weeks.
  • 7.
  • 8. K8s Managed Service Options Managed Service Offering Multi-AZ Persistent Volumes Version RBAC GKE GA Yes Block 1.15.8 Yes EKS GA Yes Block 1.15.10 Yes AKS GA Yes Block and CIFS 1.16 Yes
  • 10.
  • 11. Infrastructure as Code (IaC) Manage and provision resources in cloud platforms with source code Declarative Define what the desired resources and dependencies that should exist Terraform Cloud agnostic deployment tool to provision resources using a declarative language Source code as Source of Truth Leverage software development practices to manage and test IaC Desired State Management Use IaC to increase replicability and consistency in platform deployments © 2019 Nebulaworks, Inc.
  • 12. How we build something 1. Identify the problem to solve, team and timeline 2. Create formal specification for the desired system 3. Kickoff meeting - “Divide and Conquer” - Plan, Build, Test, Deploy Repeat 4. Issues are tracked on Kanban board 5. Release end of every bi-weekly sprint, regroup, reorganize 6. At the end of timeline repeat Step 1
  • 13.
  • 14. . ├── terraform | ├── roots | │ ├── dev | │ │ └── k8s-platform | │ ├── stage | │ │ └── k8s-platform | │ └── prod | │ └── k8s-platform | └── modules | └── k8s-platform └── docs AWS AccountMultiple Environments Desired
  • 16. Upgrading a Cluster • Assumptions: AWS, EKS Terraform Module 1. Configure Cluster Autoscaler (CA) (github kubernetes/autoscaler) 2. Run Terraform changes to update Launch Config to new AMI 3. kubectl drain --force --ignore-daemonsets --delete-local-data nodeA 4. Workloads will be rescheduled to untainted nodes 5. CA will create new nodes 6. Repeat steps 3 through 5 7. CA will terminate old nodes automatically Additionally... 8. Kube-proxy, CoreDNS, Amazon VPC CNI, GPU support etc
  • 18. Container Adoption Model Holistic view of the evolution of container adoption Initial Container Adoption Initial deployment of CaaS, no standards around development, no requirements of apps or teams CI/CD1 All groups are aligned with adoption, standard branching strategy enforced, leverage cloud operating model, CI in place for apps, identification of security domains Standardization & Modernization Enforce security best practices for container/image creation, execute securing all security domains, parallel app and infra pipelines with common tools, process for updating CaaS End-to-End telemetry, security High degree of monitoring and logging capabilities, service discovery/registration, end-to-end security policy and governance, tooling and systems are flexible and can accommodate change TEAM CAPABILITIES BUSINESS VELOCITY © 2019 Nebulaworks, Inc.
  • 19. CI / CD1 / CD2
  • 20. Continuous Workflow Maturity From scripts to CD-II Script-based Testing Individual or team-level scripted assembly and testing of applications. Entry-level configuration management. Little to no automation Continuous Integration Application and Infrastructure pipelines having initial repo-level automation for assembly and testing. Continuous Deployment (CD-II) Parallel application and infrastructure pipelines supporting modern deployment methods (blue/green, canary) leveraging a common set of tools supporting the infrastructure, platform, and application services Continuous Delivery (CD-I) High degree of automation, leveraging automated delivery and configuration of applications and of Infrastructure as Code. Ability to leverage pipelines in parameterized builds in any environment. © 2019 Nebulaworks, Inc.
  • 21. Master branch-1 branch-2 The Development Process Open PR Update PR Update PR WIPWIP READY Open PR Update PR WIP READY test