Kubernetes Kops - Automation Night
- 3. Vision
We're living in the era of mobile/digital only – we believe
banking and commerce should to.
Therefore, our vision is to rethink the interaction with money
and defining a complete new category - by introducing a new
money app.
It’s the complex coordination between banking services and
commerce use:
– How I save money.
– How I get money.
– How I spend money.
- 5. Kasper Nissen
DevOps & Infrastructure Engineer @thelunarway
Experience
DevOps & Infrastructure Engineer @ LEGO (CITMABIS) (oursourced by
IT Minds) for 5 months
Senior/Software Engineer @ IT Minds (~4 years part time)
Master thesis: KubeCloud - A Small-Scale Tangible Cloud Computing
Environment.
Interview with Software Engineering Daily: bit.ly/2paZ5lg
Blogging about Cloud Native Tech @ www.kubecloud.io
M. Eng. Computer Technology from Aarhus University - Department of
Engineering.
B. Eng. Information and Communication Technology from Aarhus
University - School of Engineering
- 17. WHAT DOES IT DO?
Node Node Node Node Node
Node Node Node Node Node
big dataapp Bapp A database
datacenter
Cluster Manager
- 18. WHY ARE WE USING IT AT LUNAR WAY?
Freedom
Squads can deploy and more or less implement
how they see fit
Autonomous services
Squads can work independent of other squads
Continuous Delivery
Kubernetes allows us to deploy multiple times
a day. It’s easy to rollback in case something
went wrong
Flexibility
We run many different type of workloads in the
cluster. Gives us mobility to become cloud
agnostic
Scalable infrastructure
Scaling the infrastructure is easy, both on
node and container level
High availability
Kubernetes takes care of container
failures, AWS Auto Scaling groups takes
care of node failures
Easy maintenance
We are using Kubernetes Operations to
help us spin up our clusters, and maintain
them.
👍🎉
- 24. NAME READY STATUS RESTARTS AGE
dns-controller 1/1 Running 0 13d
etcd-server-events-ip 1/1 Running 0 13d
etcd-server-ip 1/1 Running 0 13d
kube-apiserver-ip 1/1 Running 0 13d
kube-controller-manager 1/1 Running 0 13d
- 26. $ kops get cluster
NAME CLOUD ZONES
private-k8s-cluster aws eu-west-1a,eu-west-1b,eu-west-1c
- 28. kops helps you create,
destroy, upgrade and
maintain production-grade,
highly available, Kubernetes
clusters from the command
line
- 32. •Automates the provisioning of Kubernetes clusters in
(AWS)
•Deploys Highly Available (HA) Kubernetes Masters
•Supports upgrading from kube-up
•Built on a state-sync model for dry-runs and automatic
idempotenc
•Ability to generate configuration files for AWS
CloudFormation and Terraform configuration
•Supports custom Kubernetes add-ons
•Command line autocompletion
•Community supported!
- 40. $ kops create cluster
--name $KOPS_NAME
--state $KOPS_STATE_STORE
--dns-zone $PUBLIC_HOSTED_ZONE_ID
--node-count 3
--zones eu-west-1a
--master-zones eu-west-1a
--cloud aws
--node-size t2.medium
--master-size t2.medium
--yes
- 44. $ kops create cluster
--name $KOPS_NAME
--state $KOPS_STATE_STORE
--node-count 3
--dns-zone $PRIVATE_HOSTED_ZONE_ID
--zones eu-west-1a,eu-west-1b,eu-west-1c
--master-zones eu-west-1a,eu-west-1b,eu-west-1c
--cloud aws
--node-size t2.medium
--master-size t2.medium
--bastion
--topology private
--networking weave
--yes
- 47. WHAT IF YOU WANT YOUR
CLUSTER TO RUN IN AN
EXISTING VPC?
- 50. --cloud-labels ”Team=Dev”
--image some-image (Ubuntu, CentOS, RHEL7, CoreOS)
--networking calico, flannel
--node-security-groups
--master-security-groups
--admin-access <SOME IP>
--ssh-public-key=/Users/..
--out=.
--target=terraform
- 53. YOU CAN ALWAYS EDIT YOUR
CLUSTER CONFIGURATION
$ kops edit cluster
$ kops edit ig --name=<CLUSTER> nodes
- 64. Thank you!
Catch me on Twitter @phennex
Or in the Slack Community: Cloud Native DK (https://cloudnative-dk.herokuapp.com/ )