Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # INSTALL KUBERNETES ON CENTOS 7
- # Step 1: Prepare Hostname, Firewall and SELinux
- # master-node ganti sesuai nama hostname atau nama hostname diganti menjadi master-node
- sudo vi /etc/hosts
- 10.128.0.27 master-node
- 10.128.0.29 node-1 worker-node-1
- 10.128.0.30 node-2 worker-node-2
- # You can ping worker-node-1 and worker-node-2 to test (100% lost)
- ping 10.128.0.29
- ping 10.128.0.30
- # disable SElinux and update your firewall rules
- sudo setenforce 0
- sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
- sudo reboot
- # Set the following firewall rules on ports
- sudo firewall-cmd --permanent --add-port=6443/tcp
- sudo firewall-cmd --permanent --add-port=2379-2380/tcp
- sudo firewall-cmd --permanent --add-port=10250/tcp
- sudo firewall-cmd --permanent --add-port=10251/tcp
- sudo firewall-cmd --permanent --add-port=10252/tcp
- sudo firewall-cmd --permanent --add-port=10255/tcp
- sudo firewall-cmd --reload
- sudo modprobe br_netfilter
- # pastikan isinya 1, jika tidak edit
- echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
- # Step 2: Setup the Kubernetes Repo
- sudo vi /etc/yum.repos.d/kubernetes.repo
- [kubernetes]
- name=Kubernetes
- baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
- enabled=1
- gpgcheck=1
- repo_gpgcheck=1
- gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
- EOF
- # Step 3: Install Kubeadm and Docker
- sudo yum install kubeadm docker -y
- # When the installation completes successfully, enable and start both services
- sudo systemctl enable kubelet
- sudo systemctl start kubelet
- sudo systemctl enable docker
- sudo systemctl start docker
- # Step 4: Initialize Kubernetes Master and Setup Default User
- # disable swap in order to run “kubeadm init“ command
- sudo swapoff -a
- # Initializing Kubernetes master is a fully automated process that is managed by the “kubeadm init“ command which you will run
- sudo kubeadm init # tambahkan --pod-network-cidr=10.244.0.0/16 jika akan install flanel
- # jika error pastikan hostname di dns disesuaikan, buka port 6443 dan 10250 di firewall
- # jika ingin mereset/mengulang kubeadm init
- kubeadm reset
- # contoh setelah init catat baris terakhir (You may want to copy the last line and save it somewhere because you will need to run it on the worker nodes.)
- sudo kubeadm join 10.128.0.27:6443 --token fyllch.1b6jl7p6azn16rfr \
- --discovery-token-ca-cert-hash sha256:68f2b4540eaf8794b5296f40289bf4325cec0045b885b863ae55f19ddb4b4ca2
- # jika join error dir not empty, tambahkan parameter
- --ignore-preflight-errors=All
- # bila lupa kode join bisa ketik perintah berikut
- kubeadm token create --print-join-command
- # jika error di centos (Centos Docker runs in cgroupfs while kubelet runs in systemd cgroup), ubah group docker ke systemd
- # lihat cgroup docker
- docker info | grep -i cgroup
- sudo vi /etc/docker/daemon.json
- {
- "exec-opts": ["native.cgroupdriver=systemd"],
- "log-driver": "json-file",
- "log-opts": {
- "max-size": "100m"
- },
- "storage-driver": "overlay2",
- "storage-opts": [
- "overlay2.override_kernel_check=true"
- ]
- }
- sudo mkdir -p /etc/systemd/system/docker.service.d
- # Restart Docker
- systemctl daemon-reload
- systemctl restart docker
- # Having initialized Kubernetes successfully, you will need to allow your user to start using the cluster, To use a sudo enabled user:
- sudo mkdir -p $HOME/.kube
- sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
- # Now check to see if the kubectl command is activated
- kubectl get nodes
- # At this point, you will also notice that the status of the master-node is ‘NotReady’.
- # This is because we are yet to deploy the pod network to the cluster
- # The pod Network is the overlay network for the cluster, that is deployed on top of the present node network.
- # It is designed to allow connectivity across the pod.
- # Step 5: Setup Your Pod Network
- # These commands will be important to get the pod network setup
- export kubever=$(kubectl version | base64 | tr -d '\n')
- kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
- # Now if you check the status of your master-node, it should be ‘Ready’
- kubectl get nodes
- # note: jika setelah reboot service kubelet tidak jalan
- # swap off, join ulang
- # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
- # untuk network selain weave bisa gunakan flanel (documentation network https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network)
- # install ulang, sebelum init, hapus config di $HOME/.kube/config
- sudo rm $HOME/.kube/config
- sudo rm $HOME/.kube/config.old
Add Comment
Please, Sign In to add comment