Centos上Kubernetes配置Dashboard

如果使用官方的tutorial來安裝配置Kubernetes集群,Dashboard這個模塊應該已經自帶了.然而,誰讓我們大中華享受不到那種待遇呢?

這里我們還是通過https://github.com/kubernetes/dashboard這上面的那個腳本來啟動Dashboard.但是,因為在Centos7上從倉庫安裝的Kubernetes會有一些默認的配置,這些配置使我們不能正常的只是用那個腳本來創建一下相應的Service就好.所以,我們還需要修改一些配置.如果你不修改的話,就會因為無法訪問ApiServer而啟動不了Dashboard.

首先,修改/etc/kubernetes/apiserver文件,在修改之前,內容應該如下圖所示:

我們修改其中的**KUBE_API_ADDRESS **那部分,將其修改成任何地址都可以訪問:

默認情況下,其配置是只能本地訪問,而因為Dashboard運行在由Docker daemon劃分的一個子網的一個容器中,相當于和Kubernetes Apiserver并不是在同一個網絡中,所以訪問不了.將ApiServer配置成從任何地址都可以訪問,就可以解決這個問題.應該也有其他的方法也可以解決此問題.但是這樣最為簡單.

然后,通過下面的命令重啟ApiServer:
sudo systemctl restart kube-apiserver

然后,我們配置Dashboard連接的ApiServer的地址.在我們上面下載的那個腳本中的第54-58行,有關于它的配置,但是默認是被注釋掉的:

我們需要將其換成** http://docker_bridge_address:apiserver_port.其中docker_bridge_address是docker daemon創建的網橋的地址,默認是** 172.17.0.1.也不一定,你可以在主機上通過 ifconfig 或者 ip addr命令查看.apiserver_port是Apiserver的端口號,如果你沒有設置過,應該是** 8080**:

因為Docker容器是和docker daemon創建的那個網橋處于同一網段,而這個網橋的Ip實際上又是主機對Docker容器而言的Ip地址.所以這樣Dashboard容器就可以訪問主機上Apiserver接口了.

我們還需要配置Dashboard不使用gcr.io上面的鏡像,而是使用docker.io上面的一個同步的鏡像.就是如上圖中的第49行中所示的那樣.

然后,通過下面的命令來創建對應的Deployment等:
** kubectl create -f kubernetes-dashboard.yaml **

如果這條命令操作成功,我們會看到如下圖所示的輸出:

從上圖中,我們可以看到,我們可以通過30090來訪問這個Kubernetes-Dashboard.

我們查看一下* Deployment, Pods, Services*等:

我們可以看到,kubernetes-dashboard的Pod已經運行成功了.

最后,我們從瀏覽器中查看一下正確運行的結果:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容