install kubernetes dashboard 安裝 kubernetes dashboard 詳細

 

參考:html

http://www.bubuko.com/infodetail-2242562.htmlnode

 http://www.cnblogs.com/zhenyuyaodidiao/p/6500897.htmlgit

 

下面操做在k8s master 節點上安裝 docker 容器github

1.下載kubernetes-dashboar.yaml文件docker

     git clone https://github.com/jdedu/kubernetes.gitapi

 

     先安裝 git 瀏覽器

    yum install git安全

 

2.修改內容網絡

  vi kubernetes/kubernetes-dashboard.yamlide

 

3.建立dashboard容器

     

kubectl create -f kubernetes-dashboard.yaml

 

deployment "kubernetes-dashboard" created

service "kubernetes-dashboard" created

 

 

 

以上安裝後 pods 是沒有的,查了下嘗試以下方法解決:

 

不過這樣默認安裝後,你可能還會遇到以下問題:

(1) Dashboard pod建立失敗:這是因爲kubernetes-dashboard-amd64:v1.1.1 image在牆外,pull image失敗致使的。

能夠經過使用加速器或使用替代image的方式來解決,好比:mritd/kubernetes-dashboard-amd64:v1.4.0。修改一下dashboard-controller.yaml中image那一行便可。

(2)Dashboard沒法鏈接到master node上的api server

若是惟一的dashboard pod(因爲replicas=1)被調度到minion node上,那麼極可能沒法鏈接上master node上api server(dashboard會在cluster中自動檢測api server的存在,但有時候會失敗),致使頁面沒法正常顯示。所以,須要指定一下api server的url,好比:咱們在dashboard-controller.yaml中爲container啓動增長一個啓動參數–apiserver-host:

// dashboard-controller.yaml
... ...
spec:
      containers:
      - name: kubernetes-dashboard
        image: mritd/kubernetes-dashboard-amd64:v1.4.0
        imagePullPolicy: Always
        ports:
        - containerPort: 9090
          protocol: TCP
        args:
           - --apiserver-host=http://{api server host}:{api server insecure-port}
... ...

(3)增長nodeport,提供外部訪問路徑

dashboard以cluster service的角色運行在cluster中,咱們雖然能夠在Node上訪問該service或直接訪問pod,但要想在外部網絡訪問到dashboard,還須要另外設置,好比:設置nodeport。

在dashboard-service.yaml中,修改配置以下:

spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 9090
    nodePort: 12345

這樣你就能夠經過node 的public ip+nodeport訪問到dashboard了。

不過這時,你的dashboard算是在「裸奔」,沒有任何安全可言:
- dashboard ui沒有訪問管理機制,任何access均可以全面接管dashboard;
- 同時在背後,dashboard經過insecure-port訪問apiserver,沒有使用加密機制。

 

 

 

4.查看狀態

   kubectl get pods --namespace=kube-system

 或 

kubectl get pod --namespace=kube-system

 

NAME                                    READY     STATUS              RESTARTS   AGE

kubernetes-dashboard-1607234690-3bnk2   0/1       ContainerCreating   0          34s

 

 

 

查看構建詳細信息

 

kubectl describe pods kubernetes-dashboard-1607234690-3bnk2 --namespace=kube-system

 

 上面命令 沒有數據,下面的有:

kubectl get deployment --all-namespaces

 

[root@k8s-master ~]# kubectl get deployment --all-namespaces
NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kube-system kubernetes-dashboard-latest 1 1 1 1 1h
[root@k8s-master ~]# kubectl get svc --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes 10.254.0.1 <none> 443/TCP 9d
kube-system kubernetes-dashboard 10.254.44.119 <none> 80/TCP 1h
[root@k8s-master ~]# kubectl get pod -o wide --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system kubernetes-dashboard-latest-3866786896-vsf3h 1/1 Running 0 1h 10.0.82.2 k8s-node-1

 

 

 

 

 

5.測試

 

使用瀏覽器輸入:http://k8s-master:8080/ui

 

 

 在相應minion上訪問這個地址 是能夠的:

 

 

 

 

 

 

 

 

 

銷燬應用
  在master上執行:

kubectl delete deployment kubernetes-dashboard  --namespace=kube-system
kubectl delete svc kubernetes-dashboard --namespace=kube-system

 

     

測試:

 

 kubectl run sonarqube --image=192.168.179.133:80/sonarqube:5.6.5 --replicas=1 --port=9000

 

kubectl describe deployment/sonarqube

 

kubectl describe replicaset sonarqube-3005990520

kubectl describe pod sonarqube-3586311807-l234f 

 

kubectl delete deployment sonarqube  
kubectl delete svc sonarqube

 

 

 

 

 

 

 

此問題參考 個人博客:

http://www.cnblogs.com/hutuchong/p/7784061.html

 

大體緣由 : 這個鏡像下不下來

 單獨  

docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

會出現 提示

找了資料

 

安裝後就能夠了

 

把這鏡像tag 後 ,上傳到私服

 

 

注意:私服是在docker容器裏的, master的docker要訪問私服 也要添加  信任權限的。參考博文

 

而後在minion上 就能夠執行命令 或k8s也能夠獲取到

 

 

最後這個測試成功1!

 

相關文章
相關標籤/搜索