• 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!

  • 相关阅读:
    linux查看CPU和内存信息
    linux yum命令详解
    查看文件中关键字前后几行的内容
    vue.js+web storm安装及第一个vue.js
    android GPS: code should explicitly check to see if permission is available
    ASP.NET MVC Identity 使用自己的SQL Server数据库
    阿里云服务器,tomcat启动,一直卡在At least one JAR was scanned for TLDs yet contained no TLDs就不动了
    ASP.NET MVC4 MVC 当前上下文中不存在名称“Scripts”
    python 将windows字体中的汉字生成图片的方法
    Java android DES+Base64加密解密
  • 原文地址:https://www.cnblogs.com/hutuchong/p/7783319.html
Copyright © 2020-2023  润新知