Last active
December 21, 2020 12:19
-
-
Save aric49/8d6e5044026757e8aea1de48590a69c6 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