aws community day blr - 2017
TRANSCRIPT
About the Presenter
• Founder and Principal Consultant at CloudYuga
• Docker Captain
• Author of “Introduction to Kubernetes” course on Edx
• Author of Docker Cookbook
• Co-author of “Introduction to Cloud Infrastructure Technologies” course on Edx
• Self Paced online courses at school.cloudyuga.guru• Containers Fundamentals - Docker, runC & rkt, online self paced course (2017)• Containers (Docker) for Dev and QA , online self paced course (2017)
• Running Docker Meetup Group in Bangalore for more than 3 years now
Workflows
• What• Running any work serially or parallelly
• Perform operations, based on some policy
• Examples• Continuous Integration/Deployment
• Scanning container images for security
• Prepare a work environment on demand
• Deploy an application
• ….
What is Argo ?
The Workflow Engine for Kubernetes
• Open Source project manager by Applatix• https://argoproj.github.io
• Container Native Workflow Engine
What is Argo ?
• Open Source Container Native Workflow• Run CI/CD workflows
• Build Docker images within Docker containers
• Deploy stateful microservices based apps
• Migrate data across environments
• Built in artifact management, secret management and lifecycle management of dev/test resources
• Configuration as code (YAML for everything)
Argo
Workflows Artifacts Fixtures
Kubernetes
DinD/KinK
Argo
Compute(EC2)
Volumes(EBS/EFS)
Load balancing(ELB)
Auto scaling(ASG)
Blobs(S3)
DNS(Route 53)
Admission Control
• Delays workflows until there are sufficient resources to run the workflow.
• Allows implementation of QoS (Quality of Service) controls.
• Prevents overloading Kubernetes with too much work that cannot be scheduled.
• Prevents resource deadlocks when executing complex workflows.
Workflows and Steps
• Workflows• consists of a sequence of sequential and/or parallel steps.
• it may be arbitrarily nested.
• Step• basic execution unit of a workflow.
• executed by running a container.
• may be a workflow, which contains other steps.
Artifacts
• Artifact is a collection of files/directories that can be used as input or output to a step in a workflow.
• Internal Artifact• referenced only within the execution of a particular workflow.
• Exported artifacts• may be referenced by other workflows.
Fixtures
• Fixtures are external services that can be accessed by workflows like EC2 instances, RDS DB, test VMs• Static Fixture
• Service, already registered with Argo
• Dynamic Fixture• Created automatically before executing the workflow
Other Components
• Configuration Management
• Secret Management
• Policies• to automatically trigger the workflows
Current Status of Argo
• Sets up fully managed Kubernetes Cluster on AWS
• Run workflows on that
Argo Lite (In Progress)• Connect to any Kubernetes Cluster
• Deploys using one single command
• Run workflows