安裝環境需求
- 64位元Linux,核心版本為3.1以上,且能滿足Ducker安裝環境。
- 機器之間要能夠互通。
- 外部存取權限。
- 硬體資源:兩核心CPU、8G記憶體、硬碟30GB以上。
安裝Kubeadm與Ducker
Kubeadm是Kubernetes的一鍵部署工具。
增加Kubernetes來源apt-key
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
增加Kubernetes來源位址
vim /etc/apt/sources.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
更新apt資源
apt-get update
安裝Kubeadm
apt-get install -y docker.io kubeadm
啟動Docker
systemctl enable docker.service
部署Master節點
cd /opt/kubernetes-config
kubeadm init --config kubeadm.yaml --v=5
節點設定
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看節點
kubectl get nodes
查看節點資訊
kubectl describe node xxxx
查看節點Pod
kubectl get pods -n kube-system
部署網路外掛
kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')
部署Worker節點
cd /opt/kubernetes-config
kubeadm init --config kubeadm.yaml --v=5
節點設定
mkdir -p $HOME/.kube
scp "master node config" $HOME/.kube
sudo chown $(id -u):$(id -g) $HOME/.kube/config
部署Dashboard
kubectl apply -f https://raw.githubsercontent.com/kubenetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
查看Dashboard Service
kubectl get svc -n kubenetes-dashboard
執行
kubectl proxy
建立Dashboard服務帳號
- 建立dashboard-adminuser.yaml,內容如下:
apiVersion: xxx
kind: ServiceAccount
metadata:
name: xxx
namespace: xxx
- 執行建立
kubectl apply -f dashboard-adminuser.yaml
- 建立dashboard-clusterRoleBingding.yaml,內容如下:
apiVersion: xxx
kind: ClusterRoleBingding
metadata:
name: xxx
roleRef:
apiGroup: xxx
kind: xxx
name: xxx
subjects:
- kind: xxx
name: xxx
namespace: xxx
- 執行建立
kubectl apply -f dashboard-clusterRoleBingding.yaml
- 獲取Bearer Token
kubectl -n kubenetes-dashboard describe secret $(kubectl -n kubenetes-dashboard get secret | grep xxx | awk '{print $1}')