Skip to content

Instantly share code, notes, and snippets.

@thebsdbox
Created November 21, 2018 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thebsdbox/c87dbfe3197eebcbc16a5b2c8822e84b to your computer and use it in GitHub Desktop.
Save thebsdbox/c87dbfe3197eebcbc16a5b2c8822e84b to your computer and use it in GitHub Desktop.
{
"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