build a production kubernetes cluster
- support etcd cluster and TLS, using static pod to init etcd cluster, so monitor and management will be easy
- kubernetes master cluster
- calico etcd TLS, calico using etcd cluster
- dashboard, heapster coreDNS addons
- master haproxy, using static pod
- master keepalived
- join nodes, change kube-proxy configmap, change kubelet config
- promethus support, using promethus operator
- istio support
you need already has sealyun offline package
copy it to /data
dir
docker run --rm -v /data/kube1.13.0.tar.gz:/data/kube1.13.0.tar.gz -it -w /etc/ansible fanux/sealos:v1.13.0 bash
generate ssh public key (in docker):
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -b 2048 # please click "Enter" to end
ssh-copy-id $IP # $IP is the virtual machine or machine ip address.
check ssh:
ssh $IP
each member have a different name flag specified hostname can be a good choice
$ hostnamectl set-hostname k8s-master
$ vi /etc/hosts
127.0.0.1 k8s-master
$ reboot
check hostname:
hostname
Config your own hosts
# cd /etc/ansible
# vim hosts
# ansible-playbook roles/install-all.yaml
# ansible-playbook roles/uninstall-all.yaml
kubernetes v1.12 | kubernetes v1.13 | |
---|---|---|
sealos v1.0.0 | ✓ | |
sealos v1.13.0 | ✓ | |
sealos v1.13.2 | ✓ |
v1.13.2
- update keepalived in docker, throw away supervisor, keepalived in docker become perfect