總算在成功的部署了k8s之后,我打算再部署一下k8s的web UI:dashboard.
網(wǎng)上主要的部署方法都是一些IT用yaml文件去生成的dashboard服務。然后所有的文章或多或少的都有點問題,不是步驟不一樣了進行不下去了,內(nèi)容或文件過期,或都就是作者認為某些內(nèi)容是大家都懂的于是怱略了一些步驟,但是我已經(jīng)進行不下去了。
首先是拉鏡像的問題,dashboard的鏡像依舊是在“某個外國知名搜索引擎”服務器上的沒法直接拉下來,所以依舊使用從鏡像服務器上下載之后再用docker tag命令更改名稱的方法來解決問題。
官方的鏡像地址是:k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
我找了一個鏡像的地址:mirrorgooglecontainers (下載命令為:docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1)
接下來是改名
docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 docker rmi mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1
然后有了鏡像之后,開啟dashboard的pod。網(wǎng)上也有各種yaml文件版本,我試下來最靠譜的是以下文件。將它命名為kubernetes-dashboard.yaml。
kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-system spec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30001 selector: k8s-app: kubernetes-dashboard
其中30001可以自己改,在k8s允許的范圍內(nèi)內(nèi)改成自己想要的端口。這個端口是應用于物理機上的而不是pod網(wǎng)絡(luò)。非k8s集群的集群可以通過這個端口去訪問(畢竟還是給瀏覽器去訪問的。)我已開始沒改端口,但是沒有意識到30001端口已經(jīng)被其他的服務給占掉了,所以yaml文件運行后沒有起到起到什么作用。我在這里選了一個30012端口。
用這個文件來安裝dashboard
kubectl create -f kubernetes-dashboard.yaml
接下來是用瀏覽器登陸,首先找到dashboard是在那個節(jié)點上運行的,
kubectl get pods --all-namespaces -o wide | grep dashboard | awk '{print $8}'
然后在瀏覽器里訪問這個node節(jié)點。網(wǎng)址要加上https://<節(jié)點的ip或域名>:<前面yaml文件中的nodePort的值>。我用的瀏覽器是chrome,立即顯示了“證書不受信任”的頁面,而且高級選項里繼續(xù)選項也沒有,就無法訪問了。上網(wǎng)查了一下這個問題的解決方法,原因是證書過期了(0001年1月3日開的證書,整整過期2000+年),只有firefox能夠添加例外。而真正的解決方法是替換證書。在網(wǎng)上找到最好的方法如下文。
mkdir key && cd key openssl genrsa -out dashboard.key 2048 openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=172.19.0.48' openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt kubectl delete secret kubernetes-dashboard-certs -n kube-system kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kube-system #新的證書 kubectl delete pod kubernetes-dashboard-746dfd476-b2r5f -n kube-system #重啟服務
其中有一些地方要根據(jù)實際情況改動,例如第三句的IP地址要改成node節(jié)點的,還有最后一句刪除pod名字也得改一下。獲取的命令為
kubectl get pods --all-namespaces -o wide | grep dashboard | awk '{print $2}'
然后在瀏覽器里就可以跳過證書受信問題了。接下來的問題是登陸界面,有兩種登陸的方式,個人覺得還是token這種方便一點。網(wǎng)上也有高手總結(jié)了一下獲取token命令的方法。
kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token
將獲取的token復制到瀏覽器的界面中,就可以登陸dashboard了。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:Kubernets安裝dashboard報錯怎么解決-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article42/pedhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、標簽優(yōu)化、品牌網(wǎng)站建設(shè)、ChatGPT、商城網(wǎng)站、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容