Created
November 21, 2018 17:30
-
-
Save thebsdbox/c87dbfe3197eebcbc16a5b2c8822e84b to your computer and use it in GitHub Desktop.
This file contains 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
{ | |
"label":"Kubernets-cluster-on-CentOS", | |
"version":"0.1", | |
"vmconfig" : { | |
"vcenterURL" :"https://u:p@vc.url", | |
"datacentre" : "", | |
"datastore":"", | |
"network" : "", | |
"host" : "esxi0xxxxx", | |
"guestCredentials" : { | |
"guestUser" : "root", | |
"guestPass" :"password" | |
} | |
}, | |
"deployment": [ | |
{"name": "K8s Manager", | |
"note": "Build Kubernetes manager", | |
"task":{ | |
"inputTemplate": "KubeCETemplate", | |
"outputName": "k8manager001", | |
"outputType": "VM", | |
"import":"", | |
"networkConfig":{ | |
"distro":"centos", | |
"device":"ens160", | |
"address":"192.168.0.145/24", | |
"gateway":"192.168.0.1", | |
"dns":"192.168.0.15", | |
"hostname":"k8manager001.fnnrn.me", | |
"sudoUser":"root" | |
}, | |
"commands": [ | |
{ | |
"type":"execute", | |
"note":"Disable SELINUX (FirewallD bug)", | |
"cmd":"/usr/sbin/setenforce 0", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Configure iptables bridge", | |
"cmd":"echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Set Kubernetes API server firewall rules", | |
"cmd":"/usr/bin/firewall-cmd --add-port=6443/tcp --permanent", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Set Kubelet firewall rules", | |
"cmd":"/usr/bin/firewall-cmd --add-port=10250/tcp --permanent", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Reload firewall rules", | |
"cmd":"/usr/bin/firewall-cmd --reload", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Deploy Master node", | |
"cmd":"kubeadm init --apiserver-advertise-address=192.168.0.145 --pod-network-cidr=10.244.0.0/16 > /tmp/kubeadm.log", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Set kubectl configuration", | |
"cmd":"mkdir -p $HOME/.kube; sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config; sudo chown $(id -u):$(id -g) $HOME/.kube/config", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Installation of Flannel Network", | |
"cmd":"kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"execute", | |
"note":"Finding join token", | |
"cmd":"grep 'kubeadm join' /tmp/kubeadm.log > /tmp/kube.tkn", | |
"sudoUser":"root" | |
}, | |
{ | |
"type":"download", | |
"filePath":"/tmp/kube.tkn", | |
"resultKey":"jointoken", | |
"delAfterDownload": false | |
} | |
] | |
} | |
}, | |
{"name": "Kubernetes Worker", | |
"note": "Add worker", | |
"task":{ | |
"inputTemplate": "KubeCETemplate", | |
"outputName": "k8worker001", | |
"outputType": "VM", | |
"import":"", | |
"networkConfig":{ | |
"distro":"centos", | |
"device":"ens160", | |
"address":"192.168.0.146/24", | |
"gateway":"192.168.0.1", | |
"dns":"192.168.0.15", | |
"hostname":"k8worker001.fnnrn.me", | |
"sudoUser":"root" | |
}, | |
"commands": [ | |
{ | |
"type":"execute", | |
"note":"Join Kubeneretes Cluster", | |
"execKey":"jointoken", | |
"sudoUser":"root" | |
} | |
] | |
} | |
}, | |
{"name": "Kubernetes Worker", | |
"note": "Add worker", | |
"task":{ | |
"inputTemplate": "KubeCETemplate", | |
"outputName": "k8worker002", | |
"outputType": "VM", | |
"import":"", | |
"networkConfig":{ | |
"distro":"centos", | |
"device":"ens160", | |
"address":"192.168.0.147/24", | |
"gateway":"192.168.0.1", | |
"dns":"192.168.0.15", | |
"hostname":"k8worker002.fnnrn.me", | |
"sudoUser":"root" | |
}, | |
"commands": [ | |
{ | |
"type":"execute", | |
"note":"Join Kubeneretes Cluster", | |
"execKey":"jointoken", | |
"sudoUser":"root" | |
} | |
] | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment