zoukankan      html  css  js  c++  java
  • install kubernetes dashboard 安装 kubernetes dashboard 详细

    参考:

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

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

    下面操作在k8s master 节点上安装 docker 容器

    1.下载kubernetes-dashboar.yaml文件

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

         先安装 git 

        yum install git

    2.修改内容

      vi kubernetes/kubernetes-dashboard.yaml

    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!

  • 相关阅读:
    [转]Ctags 使用细节
    [转]ctags的使用及相关参数介绍
    [转]ubuntu面板 图标缺失的处理办法
    压缩空气动力自行车
    丰富的开发体验和激动人心的用户体验:XAML
    发现一个控件,介绍一下
    智能电视的设想(发明畅想)
    裹脚布
    整理了《类库开发的设计准则》一文
    关于设计器类程序的模型,先记录下来,怕以后忘记了
  • 原文地址:https://www.cnblogs.com/hutuchong/p/7783319.html
Copyright © 2011-2022 走看看