Chuyển đến nội dung chính

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.

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

sys.argv là môt danh sách [list] trong python, nó được sư dụng khi bạn chạy một lệnh command-line nào đó trên hệ thống.
Và argument này được đẩy vào script python để thực thi khi chạy câu lệnh.

Ví dụ: python sys.argv arg1 arg2

Trước tiên bạn phải import mô đun sys trong script.



import sys print"This is the name of the script: ", sys.argv[0]print"Number of arguments: ", len(sys.argv)print"The arguments are: ", str(sys.argv)

Tên của script này : sysargv.py
Số lượng arg là : 1
Arg là : ['sysargv.py']


python test1020.py 111 This is the name of the script:  test1020.py
Number of arguments:  2
The arguments are:  ['test1020.py', '111']

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

Như các bạn đã biết thì REST viết tắt bởi REpresentational State Transfer. Bạn có thể tham khảo thêm ở đây.

Vậy REST là gì:

Có 6 yếu tố của REST như sau:

1. Client-Server: phía server side phục vụ như một service còn phía client sẽ dùng service này.

2.Stateless:  Mỗi request từ client phải chứa tất cả các thông tin mà phía server yêu cầu phải có. Nói nôm na là mỗi request chứa các thông tin riêng rẽ không liên quan đến những request khác.

3. Cacheable : Phía server side phải cảnh báo chỉ ra cho client side biết là request đó có cache hay không.

4. Hệ thống phân lớp: Giao tiếp giữa server side và client side có thể thông qua lớp trung gian ở giữa để trả lời các request được gọi mà không cân phía client phải làm những động tác khác nữa.

5. Các cổng giao tiếp là giống nhau : Các phương thức giao tiếp giữa client và server là khuôn mẫu giống nhau.

6. Mã code linh động. Phía server có thể thực thi cho môt API gọi duy nhất mà không ảnh hưởng tới các API khác.

RESTful web service là gì :

Kiế…

Cài đặt docker trên windows server 2016.

1. Cài đặt Windows Server 2016 Container Feature:  Mở PowerShell : Cài đặt các container feature dùng powershell: Dùng lệnh: InstallWindowsFeature containers Restart lại windows: 2. Cài đặt windows server 2016 base image:  Cài đặt mô đun : ContainerImage Dùng lệnh: Install-PackageProvider ContainerImage -force List các image có giá trị: Cài đặt Windows Server Core : 3. Cài đặt docker trên windows server 2016. Download script để cài đặt docker : Chạy script : Kiểm tra các image có trên server :