Last active
June 27, 2019 08:18
-
-
Save wavezhang/199c2d1e2a19d10bf2168b71b7970fe7 to your computer and use it in GitHub Desktop.
Revisions
-
wavezhang revised this gist
Jun 27, 2019 . No changes.There are no files selected for viewing
-
wavezhang created this gist
Jul 24, 2018 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,39 @@ #!/bin/bash POD_CIDR="100.64.0.0\/14" CTL_MGR_CFG=/etc/kubernetes/manifests/kube-controller-manager.yaml kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/calicoctl.yaml echo "Updating kube controller manager params..." sed -i "s/--cluster-cidr=.*/--cluster-cidr=$POD_CIDR/g" $CTL_MGR_CFG echo "Updating kubeadm configmap..." kubectl get configmap kubeadm-config -o yaml -n kube-system | sed "s/ clusterCIDR: 192.168.0.0\/16/ clusterCIDR: $POD_CIDR/g" | sed "s/ podSubnet: 192.168.0.0\/16/ podSubnet: $POD_CIDR/g" | kubectl apply -f - echo "Updating kube-proxy configmap..." kubectl get configmap kube-proxy -o yaml -n kube-system | sed "s/ clusterCIDR: 192.168.0.0\/16/ clusterCIDR: $POD_CIDR/g" | kubectl apply -f - echo "Recreating kube-proxy pod..." kubectl get pod -n kube-system | grep kube-proxy | awk '{print $1}' | xargs -r -L1 kubectl delete pod -n kube-system echo "update calico config" kubectl get daemonsets -n kube-system calico-node -o yaml | sed "s/value: 192.168.0.0\/16/value: $POD_CIDR/g" | kubectl apply -f - echo "Recreating calico-node pod..." kubectl get pod -n kube-system | grep calico-node | awk '{print $1}' | xargs -r -L1 kubectl delete pod -n kube-system echo "Updating nodes..." kubectl get nodes -o yaml | sed "/podCIDR: 192.168./d" > nodes.yaml kubectl delete -f nodes.yaml kubectl create -f nodes.yaml echo "Updating calico data ..." kubectl exec -ti -n kube-system calicoctl -- /calicoctl get ipPool default-ipv4-ippool -o yaml | sed "s/ cidr: 192.168.0.0\/16/ cidr: $POD_CIDR/g" > ippool.yaml kubectl exec -ti -n kube-system calicoctl -- /calicoctl delete ipPool default-ipv4-ippool cat ippool.yaml | kubectl exec -ti -n kube-system calicoctl -- /calicoctl apply -f - echo "Updating old pod..." kubectl get pod --all-namespaces -o wide | grep "192.168" | awk '{print $2" -n "$1}' | xargs -r -L1 kubectl delete pod kubectl get pod --all-namespaces -owide -w