DevOps Pro Moscow 2018
About Maksim Vasilyev
Kubernetes and DevOps Engineer in Kublr develop team. 18+ years experience in IT operations and developments. Evangelist of DevOps, Kubernetes and Docker.
About Dmitry Lisin
Microservices Build Pipeline on Kubernetes Cluster in the Amazon Cloud
While containers can help to manage complex systems and processes, the tools to manage them come with their own set of challenges. This session will walk through the steps IT and development teams should take to setup a standard DevOps and cluster orchestration platform based on a Kubernetes cluster in AWS. We will also discuss setting up a build pipeline for a microservices-based applications and using microservices platform Istio for deployment scenarios supporting continuous delivery, such as canary and gradual deployment.
- Setup a Kubernetes cluster in AWS with Kublr
- Setup a build pipeline on the Kubernetes cluster based on Jenkins, Nexus, and AWS EFS
- Review the Go microservices project structure
- Use Istio microservices platform on Kubernetes to implement canary/gradual deployment process
- Specifics of using this architecture in secured AWS environments with pre-defined VPC, subnets, security groups, and security zones
- Possible further improvements: security, environment sharing between multiple teams and projects, etc
This workshop will help developers better understand how modern open source technologies such as Kubernetes, Jenkins, and Nexus may be used to build a DevOps stack as reliable as other packaged options. The goal of the session is to encourage developers, and the companies they work for, to use open source products and participate more in their upstream development.
IT and development teams.
Some level of understanding of the following concepts and tools will help (although not strictly required) going along with the session:
- Containers and Docker
- Container orchestration and Kubernetes
- Container images, image repositories, and Sonatype Nexus
- Continuous Integration and Delivery; Jenkins
- Cloud technologies and AWS
- Microservices; Istio
- Go, gRPC, protobuf
Hands-on experience with the following tools and operations will also be useful:
- AWS Console: create/manage account (root and/or IAM), access keys
- Git CLI: clone, create a branch, commit, push, merge a branch
- Kubectl CLI: configure, apply, get
- Internet access from class room for each participant
- GitHub account
- Git installed and available on the path
- Kubectl 1.10.8 installed and available on the path (https://kubernetes.io/docs/tasks/tools/install-kubectl/)
- Istio 0.7.1 distribution downloaded, installed, and istioctl available on the path (https://github.com/istio/istio/releases/)
- (Optional) Docker, if you want to test local dockerized build
- Your favorite text editor or IDE to edit source code locally
The following resources will be provided for the session by the trainers, but participants may choose to use their own:
- AWS account, and access key ID / secret key to access this account
- Kublr installation and account
During the session Kublr will be used to create Kubernetes clusters.
Trainers will provide participants with accounts in a cloud deployment of Kublr.