3. kops
Pros:
● Automates both infrastructure creation
and cluster startup
● Uses cloud providers native features
● Support updates and upgrades
● Is maintained by kubernetes team
Cons:
● Limited infrastructure support (AWS, GCP)
● Still in alpha
4. kubeadm
Pros:
● The most flexible tool
● Suitable for bare metal installations
Cons:
● Don’t provision infrastructure.
● Require a lot of manual work
5. kubo
Pros:
● Uses BOSH
● Support multiple cloud providers
● Monitors health of your cluster
Cons:
● Uses BOSH
● Require BOSH specific knowledge
● Might be difficult to customize
6. Kubespray
Pros:
● Supports multiple deployment
● Reasonable security by default
● Automatic HA
● Supports upgrades
● Under the hood uses kubeadm
● If you know ansible you know Kubespray
● Easy to customize for exposed items
Cons:
● If you pull straight from master you might
be in trouble fast
● Uses Ansible
● Can be slow
● Not everything is idempotent (cert
changes)
● Still some lacking items, like l7 load
balancers in gcp
● Can get complicated for customizations
not exposed
7. Kubespray
A couple of recommendations:
Use a release version to base your work off of
KubeSpray uses ansible so one thing I would recommend if you are experimenting or just deploying to
different environments is use --flush-cache
What am I showing today?
● Deploy to GCP
● Use terraform to follow infra as code
● Cookie cutter templates for multiple environments
17. Step 6: Run the playbook
ansible-playbook -vvv -i inventory/hosts.ini cluster.yml --flush-cache
18. Step 7: Connect to the cluster
#change the admin.conf file to the current lb_ip
sed -i -e "s/lb-apiserver.kubernetes.local/$lb_ip/g" inventory/artifacts/admin.conf
## echo out set KUBECONFIG
echo "Set your KUBECONFIG"
echo "export KUBECONFIG=$(pwd)/inventory/artifacts/admin.conf"