Cài đặt kubernetes cluster trên ubuntu.


I. Yêu cầu cầu hình server ubuntu trước khi cài đặt kubernetes.

Master:
  • 2 GB RAM
  • 2 Cores of CPU
SlaveNode:
  • 1 GB RAM
  • 1 Core of CPU 

 I.1 Update repository.


apt-get update

  I.2 Tắt swap:

swapoff -a
nano /etc/fstab

fstab file - install kubernetes - edureka

Coment out, để khi server reboot, swap không được khởi tạo.

I.3 Update hostname:
nano /etc/hostname

 hostname file - install kubernetes - edureka

I.4 Update file hosts:

nano /etc/hosts

/eyc/hosts file - install kubernetes - edureka


 I.5 Cài đặt OpenSSH-server:

sudo apt-get install openssh-server
 I.6 Cài đặt docker:

# sudo su
# apt-get update 
# apt-get install -y docker.io

Cài đặt repo cho kubernetes :

# apt-get update && apt-get install -y apt-transport-https curl
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
# apt-get update

 I.7 : Cài đặt kubeadm, Kubelet And Kubectl

 

# apt-get install -y kubelet kubeadm kubectl 

Update kubernetes configuration:

nano /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Thêm vào :

Environment=”cgroup-driver=systemd/cgroup-driver=cgroupfs”




environment variables - install kubernetes - edureka

Vậy là xong, bạn đã cài kubernetes và docker trên các server master và slaver.

II. Trên kubernetes master:

Khởi động kubeadm:

# kubeadm init --apiserver-advertise-address=<ip-address-of-kmaster-vm> --pod-network-cidr=192.168.0.0/16
 Output ra sẽ là:

kube init command - install kubernetes - edureka




Tạo nếu bạn chạy với user non-root:

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

Kiểm tra lại kubectl chạy hay không :

$ kubectl get pods -o wide --all-namespaces
kubectl get pods - install kubernetes - edureka

Cài CALIO pod network chạy lệnh:

$ kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml 

 Verify lại CALIO chạy hay không :

kubectl get pods - install kubernetes - edureka
Vậy bây giờ ta có thể deploy Dashboard cho kubernetes :

$ kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

Verify lại Dashboard chạy hay không.

kube dashboard ready - install kubernetes - edureka


 Lúc này Dashboard vẫn ẩn chạy :

kubectl proxy

Truy cập vào Dashboard dùng URL sau:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/


Sau đó:
kube dashboard token prompt - install kubernetes - edureka

III: Tạo service account trên Dashboard:

Chạy lệnh:

$ kubectl create serviceaccount dashboard -n default

Thêm một cluster binding rule vào dashboard account:

kubectl create clusterrolebinding dashboard-admin -n default 
  --clusterrole=cluster-admin 
  --serviceaccount=default:dashboard

Tạo token login:

$ kubectl get secret $(kubectl get serviceaccount dashboard -o jsonpath="{.secrets[0].name}") -o jsonpath="{.data.token}" | base64 --decode

kube dashboard token - install kubernetes - edureka

Copy token khi login vào Dashboard :

kube dashboard token entry - install kubernetes - edureka

Sau khi đăng nhập vào :

kubernetes dashboard view - install kubernetes - edureka

IV. Trên Kubernetes node:


Chạy  để join vào cluster:

kubernetes node joined cluster - install kubernetes - edureka


Ok ! vậy bạn đã tạo kubernetes cluster thành công.


Nhận xét

Bài đăng phổ biến từ blog này

Cách sử dụng sys.argv trong python.

Trang web medium.com chết, vì sao ?

Thiết kế một RESTful API bằng python và flask.