SlideShare a Scribd company logo
A GitOps model for High Availability
and Disaster Recovery on EKS
Paul Curtis, Principal Solutions Architect, Weaveworks
Webinar Platform - FAQs
Using Zoom
Questions?
• You are in listen only mode
• Q&A session will follow the presentation, please use the Q&A panel to
submit questions
• Hit escape to exit full screen
Technical Issues - please visit Zoom Help
https://support.zoom.us/hc/en-us/articles/206175806-Top-Questions
3
Speaker Introduction
Paul Curtis, Principal Solutions Architect, Weaveworks
Paul is a Principal Solutions Architect at Weaveworks, where he provides
pre- and post-sales technical expertise. Paul comes from the big data
world and machine learning world, having spent seven years at MapR.
Paul has served as Senior Operations Engineer for Unami, a startup
founded to deliver on the promise of interactive TV for consumers, and
was Systems Manager for Spiral Universe, a company providing school
administration software as a service. He has also held senior support
engineer positions at Sun Microsystems, as well as enterprise account
technical management positions for both Netscape and FileNet. Earlier in
his career, Paul worked in financial application development for Applix,
IBM Service Bureau, and Ticketron.
@pfcurtis_NY
✉ paulc@weave.works
Weaveworks ❤ GitOps
Open
Source
Services
Weave
Kubernetes
Platform
Weaveworks enabling GitOps across the Kubernetes landscape
• Key open source projects:
flux, flagger, eksctl
• Top 10 contributor to
CNCF
• GitOps thought leadership
• Design, consulting and
delivery of K8s
• GitOps & Kubernetes
training and quickstart
• Helping teams optimise
their platform
• Manage 100’s of clusters
with GitOps
• Cloud and on-premise
• Repeatability, flexibility
and situational awareness
4
Building Out High Availability in a Data
Center is Difficult and Costly
Building Out High Availability in a Data
Center is Difficult and Costly
Cloud Providers Simplify This, but Add
Complexity in Other Areas
Kubernetes Makes the Application
Layer Simple
Kubernetes Makes the Application
Layer Simple
EKS Makes Kubernetes Simpler
Kubernetes Makes the Application
Layer Simple
EKS Makes Kubernetes Simpler
eksctl Makes EKS Simpler
1 The entire system is described declaratively
2 The canonical desired system state is versioned
(with Git)
3 Approved changes to the desired state are
automatically applied to the system
4 Software agents ensure correctness
and alert on divergence
GitOps Principles
10
GitOps – An Operating Model for Cloud Native
Deployment
(clusters, apps)
Monitoring
Logging
(Observability)
Management
(operations)
Git
Build
GIT
Test
IDE
Unifying Deployment,
Monitoring and Management.
Git as the single source of truth
of a system’s desired state
ALL intended operations are
committed by pull request
ALL diffs between intended and
observed state with automatic
convergence
ALL changes are observable,
verifiable, and auditable
“Immutability
Firewall”
Kubernetes
GitOps
Continuous
Integration
11
Paul--WeaveWorks:~ pcurtis$ eksctl create cluster
[ℹ] eksctl version 0.16.0
[ℹ] using region us-east-2
[ℹ] setting availability zones to [us-east-2b us-east-2c us-east-2a]
[ℹ] subnets for us-east-2b - public:192.168.0.0/19 private:192.168.96.0/19
[ℹ] subnets for us-east-2c - public:192.168.32.0/19 private:192.168.128.0/19
[ℹ] subnets for us-east-2a - public:192.168.64.0/19 private:192.168.160.0/19
[ℹ] nodegroup "ng-ae8a8623" will use "ami-020a35f771eac7c58"
[AmazonLinux2/1.14]
[ℹ] using Kubernetes version 1.14
[ℹ] creating EKS cluster "wonderful-rainbow-1586288088" in "us-east-2" region
with un-managed nodes
[✔] EKS cluster "wonderful-rainbow-1586288088" in "us-east-2" region is ready
( . . . . . . )
GitOps Makes Creating EKS Clusters
Repeatable
GitOps Makes Creating EKS Clusters
Repeatable
eksctl Profiles Are the Key: Multiple
Clusters Built from the Same Profile
Paul--WeaveWorks:~ pcurtis$ EKSCTL_EXPERIMENTAL=true 
eksctl enable repo 
--git-url git@github.com:pfcurtis/my-eks-config 
--git-email paulc@weave.works 
--cluster wonderful-rainbow-1586288088 
--region us-east-2
[ℹ] Generating manifests
[ℹ] Cloning git@github.com:pfcurtis/my-eks-config
Cloning into
'/var/folders/s0/2cthvv_n2vb9jzxtl_v535_m0000gn/T/eksctl-install-flux-clone-513640035'...
Warning: Permanently added the RSA host key for IP address '140.82.112.4' to the list of
known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
Already on 'master'
Your branch is up to date with 'origin/master'.
[ℹ] Writing Flux manifests
[ℹ] created "Namespace/flux"
[ℹ] Applying manifests
( . . . . . . )
[ℹ] Flux will only operate properly once it has write-access to
the Git repository
[ℹ] please configure git@github.com:pfcurtis/my-eks-config so
that the following Flux SSH public key has write access to it
ssh-rsa XXXXXXXXXXXXXX
( . . . . . . )
Paul--WeaveWorks:~ pcurtis$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
flux flux-757ff78d8f-2gjhk 1/1 Running 0 34m
flux flux-helm-operator-6878997bb5-fg9sr 1/1 Running 0 34m
flux memcached-6bb74f94c4-9694m 1/1 Running 0 34m
kube-system aws-node-bgsns 1/1 Running 0 39m
kube-system aws-node-td442 1/1 Running 0 39m
kube-system coredns-74dd858ddc-cjkkb 1/1 Running 0 45m
kube-system coredns-74dd858ddc-lk2r7 1/1 Running 0 45m
kube-system kube-proxy-b2qjw 1/1 Running 0 39m
kube-system kube-proxy-k69bs 1/1 Running 0 39m
EKS Multiple Regions
18
git registry
Flux
Scope
Flagger
Workload
Workload
Workload
● Multi Region, Multi-AZ
● GitOps Managed
Flux
Scope
Flagger
Workload
Workload
Workload
LB/Mesh
Usage: eksctl create cluster [flags]
General flags:
-n, --name string EKS cluster name
-r, --region string AWS region
--managed Create EKS-managed nodegroup
--fargate Create a Fargate profile
scheduling pods in the default and kube-system namespaces
onto Fargate
Things to Consider:
● AWS Cloud Load Balancing or K8s Network/Service Mesh Load
Balancing
● Persistent Storage: Stateful Data Across Multiple Clusters
● Authorization: IAM users, K8s Roles, and K8s RBAC (put these
in the profile!)
Things to Consider:
● AWS Cloud Load Balancing or K8s Network/Service Mesh Load
Balancing
There are a number of ways to accomplish this today:
Multi-Cluster Networking (Layer 2-ish): Weave Net, Amazon VPC-to-VPC
Multi-Cluster Service Meshes: Istio, Cilium, Envoy (soon)
Classic Load Balancing: Amazon Elastic Load Balancers + Route53 to Ingresses
Choosing Will Depend on the Services Running:
Do I need session awareness?
Do I desire progressive delivery?
Do I desire a single control plane?
Things to Consider:
● Persistent Storage: Stateful Data Across Multiple Clusters
There are a number of ways to accomplish this today:
Service Level Replication: Database replication, for example
Shared Storage Replication: NetApp, MapR/HPE, Portworx
Disaster Recovery only: Traditional file system block synchronization, “rsync”,
Transport of file system snapshots, Old School backup/restore
● Kubernetes application platform
● Management of cluster and
applications
● Builds on GitOps and adds
enterprise features
● Define clusters and components
using a model based system
● Deploy new clusters using those
definitions: multiple back-ends
● Alerting and operations built-in
Weave Kubernetes Platform
23
Questions?
Upcoming webinars in April
April 21: GitOps powered management for multi-cluster Kubernetes across any cloud
We have partnered up with Solo.io to discuss common pitfalls and demonstrate how GitOps workflows along
with Gloo and Service Mesh Hub can configure, operationalize and extend your application environment
across clouds.
April 22: A GitOps model for managing governance, risk and compliance for Kubernetes
platforms
Learn how GitOps workflows can provide a separation of concerns between development and deployment,
automate transparency and auditability and reduce risk through rollback and logging.
Thank you!
EKS Control: https://eksctl.io
GitOps Enable EKS: https://eksctl.io/gitops-quickstart/setup-gitops/
Enterprise Ready GitOps with the Weave Kubernetes Platform:
https://www.weave.works/blog/enterprise-ready-gitops-with-the-weave-ku
bernetes-platform
Paul Curtis
@pfcurtis_NY
✉ paulc@weave.works

More Related Content

PPTX
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
PDF
Defining & Enforcing Policies the GitOps Way
PDF
WKSctl: Gitops Management of Kubernetes Clusters
PDF
How to manage Kubernetes at scale with just git
PDF
Implementing Progressive Delivery with Your Team (by Leigh Capili)
PPTX
Why observability matters - now and in the future (w/guest Grafana)
PDF
An intro to Kubernetes operators
PDF
Modern DevOps with Spinnaker - Olga Kundzich
Make stateful apps in Kubernetes a no brainer with Pure Storage and GitOps
Defining & Enforcing Policies the GitOps Way
WKSctl: Gitops Management of Kubernetes Clusters
How to manage Kubernetes at scale with just git
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Why observability matters - now and in the future (w/guest Grafana)
An intro to Kubernetes operators
Modern DevOps with Spinnaker - Olga Kundzich

What's hot (20)

PDF
CI and CD with Spinnaker
PDF
Spinnaker Summit 2019: Where are we heading? The Future of Continuous Delivery
PDF
Secrets management vault cncf meetup
PDF
Cloud Native User Group: Prometheus Day 2
PDF
Heroku to Kubernetes & Gihub to Gitlab success story
PDF
Open shift 4 infra deep dive
PDF
Kubernetes Summit 2020 - DevOps: Where is My PodPod
PDF
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
PDF
Git ops: Git based application deployment patterns for Kubernetes
PDF
OpenShift, Docker, Kubernetes: The next generation of PaaS
PDF
Implementing an Automated Staging Environment
PDF
Automating OpenStack Deployment with Fuel
PDF
OpenStack on Kubernetes (BOS Summit / May 2017 update)
PPTX
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
PDF
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
PDF
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
PDF
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
PDF
Using source code management patterns to configure and secure your Kubernetes...
PPTX
Kubernetes and OpenStack at Scale
ODP
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
CI and CD with Spinnaker
Spinnaker Summit 2019: Where are we heading? The Future of Continuous Delivery
Secrets management vault cncf meetup
Cloud Native User Group: Prometheus Day 2
Heroku to Kubernetes & Gihub to Gitlab success story
Open shift 4 infra deep dive
Kubernetes Summit 2020 - DevOps: Where is My PodPod
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
Git ops: Git based application deployment patterns for Kubernetes
OpenShift, Docker, Kubernetes: The next generation of PaaS
Implementing an Automated Staging Environment
Automating OpenStack Deployment with Fuel
OpenStack on Kubernetes (BOS Summit / May 2017 update)
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
Using source code management patterns to configure and secure your Kubernetes...
Kubernetes and OpenStack at Scale
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
Ad

Similar to A GitOps model for High Availability and Disaster Recovery on EKS (20)

PDF
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
PDF
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
PDF
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
PDF
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
PDF
Free GitOps Workshop
PDF
Intro to Kubernetes & GitOps Workshop
PDF
Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...
PDF
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
PDF
Robust Network Security and Observability with GitOps and Cilium
PDF
Free GitOps Workshop + Intro to Kubernetes & GitOps
PDF
Observe and command your fleets across any kubernetes with weave git ops
PDF
Simplifying Hybrid EKS
PDF
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
PDF
Cloud Native Engineering with SRE and GitOps
PDF
Weave GitOps - continuous delivery for any Kubernetes
PDF
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
PDF
OpenShift Multicluster
PDF
Successful K8S Platforms in Airgapped Environments
PPTX
Amazon EKS Deep Dive
PDF
Building internal developer platform with EKS and GitOps
Migrating from Self-Managed Kubernetes on EC2 to a GitOps Enabled EKS
Achieve Data & Operational Sovereignty: Managing Hybrid & Edge EKS Deployment...
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Free GitOps Workshop
Intro to Kubernetes & GitOps Workshop
Overcoming Regulatory & Compliance Hurdles with Hybrid Cloud EKS and Weave Gi...
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Robust Network Security and Observability with GitOps and Cilium
Free GitOps Workshop + Intro to Kubernetes & GitOps
Observe and command your fleets across any kubernetes with weave git ops
Simplifying Hybrid EKS
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Cloud Native Engineering with SRE and GitOps
Weave GitOps - continuous delivery for any Kubernetes
Accelerating Hybrid Multistage Delivery with Weave GitOps on EKS
OpenShift Multicluster
Successful K8S Platforms in Airgapped Environments
Amazon EKS Deep Dive
Building internal developer platform with EKS and GitOps
Ad

More from Weaveworks (20)

PDF
Weave AI Controllers (Weave GitOps Office Hours)
PDF
Flamingo: Expand ArgoCD with Flux (Office Hours)
PDF
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
PDF
Six Signs You Need Platform Engineering
PDF
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
PDF
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
PDF
Flux Beyond Git Harnessing the Power of OCI
PDF
How to Avoid Kubernetes Multi-tenancy Catastrophes
PDF
GitOps Testing in Kubernetes with Flux and Testkube.pdf
PDF
Intro to GitOps with Weave GitOps, Flagger and Linkerd
PDF
Implementing Flux for Scale with Soft Multi-tenancy
PDF
The Story of Flux Reaching Graduation in the CNCF
PDF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
PDF
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
PDF
Flux’s Security & Scalability with OCI & Helm Slides.pdf
PDF
Flux Security & Scalability using VS Code GitOps Extension
PDF
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
PDF
Intro to GitOps & Flux.pdf
PDF
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
PDF
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave AI Controllers (Weave GitOps Office Hours)
Flamingo: Expand ArgoCD with Flux (Office Hours)
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Six Signs You Need Platform Engineering
SRE and GitOps for Building Robust Kubernetes Platforms.pdf
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Flux Beyond Git Harnessing the Power of OCI
How to Avoid Kubernetes Multi-tenancy Catastrophes
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Implementing Flux for Scale with Soft Multi-tenancy
The Story of Flux Reaching Graduation in the CNCF
Shift Deployment Security Left with Weave GitOps & Upbound’s Universal Crossp...
Securing Your App Deployments with Tunnels, OIDC, RBAC, and Progressive Deliv...
Flux’s Security & Scalability with OCI & Helm Slides.pdf
Flux Security & Scalability using VS Code GitOps Extension
Deploying Stateful Applications Securely & Confidently with Ondat & Weave GitOps
Intro to GitOps & Flux.pdf
Simplifying Hybrid Kubernetes with Weaveworks and EKS.pdf
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Programs and apps: productivity, graphics, security and other tools
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
sap open course for s4hana steps from ECC to s4
Understanding_Digital_Forensics_Presentation.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx

A GitOps model for High Availability and Disaster Recovery on EKS

  • 1. A GitOps model for High Availability and Disaster Recovery on EKS Paul Curtis, Principal Solutions Architect, Weaveworks
  • 2. Webinar Platform - FAQs Using Zoom Questions? • You are in listen only mode • Q&A session will follow the presentation, please use the Q&A panel to submit questions • Hit escape to exit full screen Technical Issues - please visit Zoom Help https://support.zoom.us/hc/en-us/articles/206175806-Top-Questions
  • 3. 3 Speaker Introduction Paul Curtis, Principal Solutions Architect, Weaveworks Paul is a Principal Solutions Architect at Weaveworks, where he provides pre- and post-sales technical expertise. Paul comes from the big data world and machine learning world, having spent seven years at MapR. Paul has served as Senior Operations Engineer for Unami, a startup founded to deliver on the promise of interactive TV for consumers, and was Systems Manager for Spiral Universe, a company providing school administration software as a service. He has also held senior support engineer positions at Sun Microsystems, as well as enterprise account technical management positions for both Netscape and FileNet. Earlier in his career, Paul worked in financial application development for Applix, IBM Service Bureau, and Ticketron. @pfcurtis_NY ✉ paulc@weave.works
  • 4. Weaveworks ❤ GitOps Open Source Services Weave Kubernetes Platform Weaveworks enabling GitOps across the Kubernetes landscape • Key open source projects: flux, flagger, eksctl • Top 10 contributor to CNCF • GitOps thought leadership • Design, consulting and delivery of K8s • GitOps & Kubernetes training and quickstart • Helping teams optimise their platform • Manage 100’s of clusters with GitOps • Cloud and on-premise • Repeatability, flexibility and situational awareness 4
  • 5. Building Out High Availability in a Data Center is Difficult and Costly
  • 6. Building Out High Availability in a Data Center is Difficult and Costly Cloud Providers Simplify This, but Add Complexity in Other Areas
  • 7. Kubernetes Makes the Application Layer Simple
  • 8. Kubernetes Makes the Application Layer Simple EKS Makes Kubernetes Simpler
  • 9. Kubernetes Makes the Application Layer Simple EKS Makes Kubernetes Simpler eksctl Makes EKS Simpler
  • 10. 1 The entire system is described declaratively 2 The canonical desired system state is versioned (with Git) 3 Approved changes to the desired state are automatically applied to the system 4 Software agents ensure correctness and alert on divergence GitOps Principles 10
  • 11. GitOps – An Operating Model for Cloud Native Deployment (clusters, apps) Monitoring Logging (Observability) Management (operations) Git Build GIT Test IDE Unifying Deployment, Monitoring and Management. Git as the single source of truth of a system’s desired state ALL intended operations are committed by pull request ALL diffs between intended and observed state with automatic convergence ALL changes are observable, verifiable, and auditable “Immutability Firewall” Kubernetes GitOps Continuous Integration 11
  • 12. Paul--WeaveWorks:~ pcurtis$ eksctl create cluster [ℹ] eksctl version 0.16.0 [ℹ] using region us-east-2 [ℹ] setting availability zones to [us-east-2b us-east-2c us-east-2a] [ℹ] subnets for us-east-2b - public:192.168.0.0/19 private:192.168.96.0/19 [ℹ] subnets for us-east-2c - public:192.168.32.0/19 private:192.168.128.0/19 [ℹ] subnets for us-east-2a - public:192.168.64.0/19 private:192.168.160.0/19 [ℹ] nodegroup "ng-ae8a8623" will use "ami-020a35f771eac7c58" [AmazonLinux2/1.14] [ℹ] using Kubernetes version 1.14 [ℹ] creating EKS cluster "wonderful-rainbow-1586288088" in "us-east-2" region with un-managed nodes [✔] EKS cluster "wonderful-rainbow-1586288088" in "us-east-2" region is ready ( . . . . . . )
  • 13. GitOps Makes Creating EKS Clusters Repeatable
  • 14. GitOps Makes Creating EKS Clusters Repeatable eksctl Profiles Are the Key: Multiple Clusters Built from the Same Profile
  • 15. Paul--WeaveWorks:~ pcurtis$ EKSCTL_EXPERIMENTAL=true eksctl enable repo --git-url git@github.com:pfcurtis/my-eks-config --git-email paulc@weave.works --cluster wonderful-rainbow-1586288088 --region us-east-2 [ℹ] Generating manifests [ℹ] Cloning git@github.com:pfcurtis/my-eks-config Cloning into '/var/folders/s0/2cthvv_n2vb9jzxtl_v535_m0000gn/T/eksctl-install-flux-clone-513640035'... Warning: Permanently added the RSA host key for IP address '140.82.112.4' to the list of known hosts. remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done. Already on 'master' Your branch is up to date with 'origin/master'. [ℹ] Writing Flux manifests [ℹ] created "Namespace/flux" [ℹ] Applying manifests ( . . . . . . )
  • 16. [ℹ] Flux will only operate properly once it has write-access to the Git repository [ℹ] please configure git@github.com:pfcurtis/my-eks-config so that the following Flux SSH public key has write access to it ssh-rsa XXXXXXXXXXXXXX ( . . . . . . )
  • 17. Paul--WeaveWorks:~ pcurtis$ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE flux flux-757ff78d8f-2gjhk 1/1 Running 0 34m flux flux-helm-operator-6878997bb5-fg9sr 1/1 Running 0 34m flux memcached-6bb74f94c4-9694m 1/1 Running 0 34m kube-system aws-node-bgsns 1/1 Running 0 39m kube-system aws-node-td442 1/1 Running 0 39m kube-system coredns-74dd858ddc-cjkkb 1/1 Running 0 45m kube-system coredns-74dd858ddc-lk2r7 1/1 Running 0 45m kube-system kube-proxy-b2qjw 1/1 Running 0 39m kube-system kube-proxy-k69bs 1/1 Running 0 39m
  • 18. EKS Multiple Regions 18 git registry Flux Scope Flagger Workload Workload Workload ● Multi Region, Multi-AZ ● GitOps Managed Flux Scope Flagger Workload Workload Workload LB/Mesh
  • 19. Usage: eksctl create cluster [flags] General flags: -n, --name string EKS cluster name -r, --region string AWS region --managed Create EKS-managed nodegroup --fargate Create a Fargate profile scheduling pods in the default and kube-system namespaces onto Fargate
  • 20. Things to Consider: ● AWS Cloud Load Balancing or K8s Network/Service Mesh Load Balancing ● Persistent Storage: Stateful Data Across Multiple Clusters ● Authorization: IAM users, K8s Roles, and K8s RBAC (put these in the profile!)
  • 21. Things to Consider: ● AWS Cloud Load Balancing or K8s Network/Service Mesh Load Balancing There are a number of ways to accomplish this today: Multi-Cluster Networking (Layer 2-ish): Weave Net, Amazon VPC-to-VPC Multi-Cluster Service Meshes: Istio, Cilium, Envoy (soon) Classic Load Balancing: Amazon Elastic Load Balancers + Route53 to Ingresses Choosing Will Depend on the Services Running: Do I need session awareness? Do I desire progressive delivery? Do I desire a single control plane?
  • 22. Things to Consider: ● Persistent Storage: Stateful Data Across Multiple Clusters There are a number of ways to accomplish this today: Service Level Replication: Database replication, for example Shared Storage Replication: NetApp, MapR/HPE, Portworx Disaster Recovery only: Traditional file system block synchronization, “rsync”, Transport of file system snapshots, Old School backup/restore
  • 23. ● Kubernetes application platform ● Management of cluster and applications ● Builds on GitOps and adds enterprise features ● Define clusters and components using a model based system ● Deploy new clusters using those definitions: multiple back-ends ● Alerting and operations built-in Weave Kubernetes Platform 23
  • 25. Upcoming webinars in April April 21: GitOps powered management for multi-cluster Kubernetes across any cloud We have partnered up with Solo.io to discuss common pitfalls and demonstrate how GitOps workflows along with Gloo and Service Mesh Hub can configure, operationalize and extend your application environment across clouds. April 22: A GitOps model for managing governance, risk and compliance for Kubernetes platforms Learn how GitOps workflows can provide a separation of concerns between development and deployment, automate transparency and auditability and reduce risk through rollback and logging.
  • 26. Thank you! EKS Control: https://eksctl.io GitOps Enable EKS: https://eksctl.io/gitops-quickstart/setup-gitops/ Enterprise Ready GitOps with the Weave Kubernetes Platform: https://www.weave.works/blog/enterprise-ready-gitops-with-the-weave-ku bernetes-platform Paul Curtis @pfcurtis_NY ✉ paulc@weave.works