-
-
Save Tedezed/6610cfd824085626f1054168f3fad0aa to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# BootKube Deployment (FINAL): | |
## NEW INSTALLATIONS: | |
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y docker.io vim ethtool traceroute git build-essential lldpd | |
## Cleanup | |
sudo systemctl stop kubelet.service | |
sudo docker rm bootkube-render | |
sudo docker stop $(sudo docker ps -a | grep k8s| cut -c1-20 | xargs sudo docker stop) | |
sudo docker rm -f $(sudo docker ps -a | grep k8s| cut -c1-20 | xargs sudo docker stop) | |
sudo docker rm -f $(sudo docker ps -a | grep bootkube| cut -c1-20 | xargs sudo docker stop) | |
sudo docker rm -f $(sudo docker ps -a | grep bootkube| cut -c1-20 | xargs sudo docker stop) | |
sudo rm -rf /etc/kubernetes/ | |
sudo rm -rf /var/run/calico | |
sudo rm -rf /var/run/flannel | |
sudo rm -rf /home/$USER/.bootkube | |
sudo ip link set flannel.1 down | |
### DOWNLOAD: | |
wget https://github.com/kubernetes-incubator/bootkube/releases/download/v0.4.1/bootkube.tar.gz | |
tar zxvf bootkube.tar.gz | |
sudo chmod +x bin/linux/bootkube | |
sudo cp bin/linux/bootkube /usr/local/bin/ | |
wget http://storage.googleapis.com/kubernetes-release/release/v1.6.2/bin/linux/amd64/kubectl | |
sudo chmod +x kubectl | |
sudo mv kubectl /usr/local/bin/ | |
wget https://github.com/containernetworking/cni/releases/download/v0.5.2/cni-amd64-v0.5.2.tgz | |
sudo mkdir -p /opt/cni/bin | |
sudo tar -xf cni-amd64-v0.5.2.tgz -C /opt/cni/bin/ | |
wget http://storage.googleapis.com/kubernetes-release/release/v1.6.2/bin/linux/amd64/kubelet | |
sudo mv kubelet /usr/local/bin/kubelet | |
chmod +x /usr/local/bin/kubelet | |
### RENDER: | |
sudo /usr/bin/docker run -v /home/ubuntu:/home/ubuntu quay.io/coreos/bootkube:v0.4.1 /bootkube render --asset-dir=/home/ubuntu/.bootkube --experimental-self-hosted-etcd --etcd-servers=http://10.3.0.15:12379 --api-servers=https://kubernetes:443 | |
sudo rm -rf /home/ubuntu/.bootkube/manifests/kube-flannel* | |
### DEPLOY LIKE THIS: | |
sudo vi /etc/systemd/system/kubelet.service | |
sudo systemctl daemon-reload | |
sudo systemctl restart kubelet.service | |
sudo cp /home/ubuntu/.bootkube/auth/kubeconfig /etc/kubernetes/ | |
sudo cp -a /home/ubuntu/.bootkube/* /etc/kubernetes/ | |
sudo bootkube start --asset-dir=/home/ubuntu/.bootkube | |
### WAIT FOR KUBERNETES API TO COME UP CLEANLY... | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig label node --all node-role.kubernetes.io/canal-node=true | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig label node --all node-role.kubernetes.io/master="" --overwrite | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig apply -f https://gist.githubusercontent.com/v1k0d3n/0e6ff14cb913c93f0f3ec5c4cceb4915/raw/de8b1d9d3c4018179852ffad28e0c66c22ff724b/canal-etcd.yaml | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig apply -f https://gist.githubusercontent.com/v1k0d3n/39c496287bdcd4a5a6aa439050fb7332/raw/cfb20fef7c7404df5dd8a6fe958a1f870ea7b423/canal.yaml | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig apply -f https://gist.githubusercontent.com/v1k0d3n/4b58246e88b404fad5b17da95876e61b/raw/b2b205d56de2afad5e9ba768f7d0826c4c13599c/calico-cfg.yaml | |
### Apply Cluster-HA Configuration: | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig apply -f https://gist.githubusercontent.com/v1k0d3n/2b39143572f28be5c44b20b70b7be502/raw/2768a0f1e95481d9da39dd23ad3b270177edcc0e/cluster-ha.yaml | |
### TESTING: | |
sudo kubectl --kubeconfig=/etc/kubernetes/kubeconfig get pods -o wide --all-namespaces | |
### KUBLET CONFIG: | |
sudo vi /etc/systemd/system/kubelet.service | |
############################### | |
[Unit] | |
Description=Kubernetes Kubelet | |
Documentation=https://kubernetes.io/docs/admin/kubelet/ | |
[Service] | |
ExecStartPre=/bin/mkdir -p /etc/kubernetes/manifests | |
ExecStart=/usr/local/bin/kubelet \ | |
--kubeconfig=/etc/kubernetes/kubeconfig \ | |
--require-kubeconfig \ | |
--cni-conf-dir=/etc/cni/net.d \ | |
--cni-bin-dir=/opt/cni/bin \ | |
--network-plugin=cni \ | |
--lock-file=/var/run/lock/kubelet.lock \ | |
--exit-on-lock-contention \ | |
--pod-manifest-path=/etc/kubernetes/manifests \ | |
--allow-privileged \ | |
--cluster_dns=192.168.1.70,8.8.8.8,10.3.0.10 \ | |
--cluster_domain=cluster.local \ | |
--node-labels= \ | |
--hostname-override=192.168.4.79 \ | |
--v=2 | |
Restart=on-failure | |
RestartSec=5 | |
[Install] | |
WantedBy=multi-user.target | |
################################# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment