標籤:ISE lan 壓縮 pos 查看 gre chmod ber 請求
0、前言
整體架構目錄:ASP.NET Core分布式項目實戰-目錄
k8s架構目錄:Kubernetes(k8s)叢集部署(k8s企業級DockerLark)系列目錄
1、部署master組件
master 伺服器的組件有:kube-apiserver、kube-controller-manager、kube-scheduler
因此需要下載k8s master,:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md ,當然大家可以下載更高版本的。
這邊需要準備這幾個檔案
kubectl(用於運行叢集命令的管理工具):具體可參考:http://docs.kubernetes.org.cn/61.html 中文文檔。
kubeconfig.sh(用來產生適用於node節點的設定檔以及認證的)、master伺服器的k8s組件
第一步:解壓縮包 unzip master.zip
把裡面的kube-apiserver、 kube-controller-manager、 kube-scheduler 複製到 /opt/kubernetes/bin 裡面,並且把bin檔案夾下面的檔案設定為可執行許可權,chmod +x /ops/kubernetes/bin/*
第二步:已把各個組件放到對應的目錄後,進入我剛才的解壓出來的檔案夾中,把尾碼為.sh的檔案設定為可執行許可權因為我們要開始啟動master組件
chmod +x *.sh
第三步:
把上面說到的 kubectl 管理工具放到 /ops/kubernetes/bin,一樣的也設定可執行許可權。
然後把kubeconfig.sh 放到 之前文章介紹中的 /home/ssl 目錄下,然後執行以下裡面的內容,會產生如下的檔案及認證,主要用於node組件
token.csv、bootstrap.kubeconfig、kube-proxy-key.pem、kube-proxy.kubeconfig kube-proxy.pem
第四步:把產生的token.csv 檔案複製到 /opt/kubernetes/cfg/ ,因為在運行 master組件sh檔案需要用到。第五步:終於可以了運行啦
./apiserver.sh 192.168.161.151 https://192.168.161.151:2379,https://192.168.161.152:2379,https://192.168.161.153:2379
./scheduler.sh 127.0.0.1
./controller-manager.sh 127.0.0.1
然後運行以查看一下運行狀態 ps -ef |grep kube ,可以看到 都在運行,至此master組件已經全部運行了。
運行以下查看叢集etcd的健康狀態啦 kubectl get cs
2、部署node組件 第一步:把上面的ssl中建立的檔案
bootstrap.kubeconfig、kube-proxy.kubeconfig
copy 到node節點上
scp -r *kubeconfig [email protected]:/opt/kubernetes/cfg
scp -r *kubeconfig [email protected]:/opt/kubernetes/cfg
第二步:在下載的k8s中找到node伺服器需要的k8s檔案組件複製到伺服器上。
然後進入到 檔案夾中,然後把尾碼為 sh 的檔案添加可執行許可權 chmod +x *sh
把kubelet、kube-proxy都加上可執行許可權,然後把這兩個檔案copy到/ops/kubernetes/bin 中
cp kubelet kube-proxy /opt/kubernetes/bin/
chmod +x /opt/kubernetes/bin/*
第三步:運行kubelet.sh kube-proxy.sh(節點node2也按照相同的部署)
./kubelet.sh 192.168.161.152 10.10.10.2
./proxy.sh 192.168.161.152
第四步:運行kubelet 和kube-proxy
發現運行報錯,好吧,發現沒有許可權
解決方案:需要在 master節點裡面為 請求的使用者即bootstrap.kubeconfig 裡面的 user 使用者建立角色(kubelet-bootstrap)
切換到master 上,執行以下命令即可。
kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
第五步:在node伺服器上啟動kubelet,在master 上面即可以查看 csr 認證
認證產生後,就需允許 認證
kubectl certificate approve 認證名(即上面的name值)
然後就可以查看 叢集狀態了
kubectl get node
至此,k8s叢集部署結束。
接下來就要測試一下部署webUI啦。
看
3、部署webUI
需要三個檔案
dashboard-rbac.yaml :rbac 許可權
dashboard-deployment.yaml :部署pod
dashboard-service.yaml :發布服務
分別執行:
kubectl create -f dashboard-rbac.yaml
kubectl create -f dashboard-deployment.yaml
kubectl create -f dashboard-service.yaml
執行完後,我們來看一下pod,發現dashboard已經部署成功。
接下來我們看一下發布服務的連接埠
大公告成。
github:fork me
asp.net Core 交流群:787464275 歡迎加群交流
如果您認為這篇文章還不錯或者有所收穫,您可以點擊右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!
LouieGuo
聲明:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設定打賞功能,如有特殊需求請與本人聯絡!
Kubernetes(k8s)叢集部署(k8s企業級DockerLark)系列之部署master/node節點群組件(四)