Kubernetes 是用于自動部署、擴展和管理容器化應用程序的開源系統。它旨在提供『跨主機集群的自動部署、擴展以及運行應用程序容器的平臺』。它支持一系列容器工具,包括Docker等。- https://zh.wikipedia.org/wiki/Kubernetes
在這篇文章中,我會介紹下如何在Ubuntu上安裝Kubernetes。
安裝Docker
使用命令安裝:
sudo apt install docker.io
查看安裝結果:
docker --version
Docker version 18.09.7, build 2d0083d
啟動Docker服務:
sudo systemctl enable docker
安裝Kubernetes
先要確認是否安裝了curl
,如果沒有安裝,運行命令安裝:
sudo apt install curl
添加google的apt包依賴:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
安裝Kubernetes基礎軟件:
sudo apt install kubeadm kubectl kubelet
kubeadm
是一個工具,通過執行必要的操作來啟動和運行一個最小可用的集群。它被故意設計為只關心啟動集群,而不是節點準備工作,使用kubeadm
做為所有部署的基礎將會使得創建一個符合期望的集群變得更容易。
kubectl
是命令行工具,可以用來操控Kubernetes集群。
kubelet
是在每個節點上運行的主要"節點代理",kubelet
以PodSpec為單位來運行任務,PodSpec是一個描述pod的YAML或JSON對象
啟動Kubernetes
首先要關閉內存交換系統,因為Kubernetes在使用內存交換系統上無法正常執行:
sudo swapoff -a
設置Kubernetes的域名,這里設置為master-node:
sudo hostnamectl set-hostname master-node
設置從節點的命令為:hostnamectl set-hostname slave-node
初始化主節點并設置IP地址:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化成功后會提醒我們做兩件事情,第一創建用戶相關信息:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
如果不按照上面的進行操作就會出現錯誤:
nable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
第二其它節點如何加入集群:
kubeadm join ip:6443 --token 83zs28******u73b1 \
--discovery-token-ca-cert-hash sha256:9a0b682***********0a1039dec66ff7dd3eb1061af4f90e7923ae1932b
安裝結果
安裝完成之后可以通過命令查看:
kubectl get pods --all-namespaces
可以看到運行結果:
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d9-8wv9c 0/1 Pending 0 9m32s
kube-system coredns-5644d7b6d9-vfd5w 0/1 Pending 0 9m32s
kube-system etcd-master-node 1/1 Running 0 8m30s
kube-system kube-apiserver-master-node 1/1 Running 0 8m41s
kube-system kube-controller-manager-master-node 1/1 Running 0 8m23s
kube-system kube-proxy-dmvw7 1/1 Running 0 9m32s
kube-system kube-scheduler-master-node 1/1 Running 0 8m43s
下一篇將會介紹如何安裝Kubernetes dashboard(Web UI)。
引用
https://kubernetes.io/zh/
https://zh.wikipedia.org/wiki/Kubernetes
https://vitux.com/install-and-deploy-kubernetes-on-ubuntu/