zoukankan      html  css  js  c++  java
  • 配置kubernetes UI图形化界面

    配置Kubernetes网络

    • 在master和nodes上都需要安装flannel
    yum install flannel
    • 在master和nodes上都需要配置flannel

    vi /etc/sysconfig/flanneld

    # Flanneld configuration options

    # etcd url location. Point this to the server where etcd runs
    FLANNEL_ETCD_ENDPOINTS="http://etcd:2379"

    # etcd config key. This is the configuration key that flannel queries
    # For address range assignment
    FLANNEL_ETCD_PREFIX="/atomic.io/network"

    # Any additional options that you want to pass
    #FLANNEL_OPTIONS=""

    • 配置etcd中flannel的key,需要在etcd中进行配置
    etcdctl mk /atomic.io/network/config '{ "Network": "192.168.0.0/16" }'
    • 启动

    在master节点上启动

    systemctl enable flanneld.service 
    systemctl start flanneld.service 
    service docker restart
    systemctl restart kube-apiserver.service
    systemctl restart kube-controller-manager.service
    systemctl restart kube-scheduler.service

    在各个Nodes上启动

    systemctl enable flanneld.service 
    systemctl start flanneld.service 
    service docker restart
    systemctl restart kubelet.service
    systemctl restart kube-proxy.service

    运行 kubectl get pods --all-namespaces -o wide 看获取的ip地址是否正确

     编辑一个kubernetes-dashboard.yaml文件

    最新版本可以去官网下载

    https://github.com/kubernetes/dashboard/blob/master/src/deploy/kubernetes-dashboard.yaml

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    # Keep the name in sync with image version and
    # gce/coreos/kube-manifests/addons/dashboard counterparts
      name: kubernetes-dashboard-latest
      namespace: kube-system
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            k8s-app: kubernetes-dashboard
            version: latest
            kubernetes.io/cluster-service: "true"
        spec:
          containers:
          - name: kubernetes-dashboard
            image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.1
            resources:
              # keep request = limit to keep this container in guaranteed class
              limits:
                cpu: 100m
                memory: 50Mi
              requests:
                cpu: 100m
                memory: 50Mi
            ports:
            - containerPort: 9090
            args:
             -  --apiserver-host=http://10.182.169.33:8080
            livenessProbe:
              httpGet:
                path: /
                port: 9090
              initialDelaySeconds: 30
              timeoutSeconds: 30
    ---
    kind: Service
    metadata:
      name: kubernetes-dashboard
      namespace: kube-system
      labels:
        k8s-app: kubernetes-dashboard
        kubernetes.io/cluster-service: "true"
    spec:
      selector:
        k8s-app: kubernetes-dashboard
      ports:
      - port: 80
        targetPort: 9090

    注意修改--apiserver-host=http://10.182.169.33:8080 指向自己的api server.


    创建dashboard
     

    kubectl create -f kubernetes-dashboard.yaml

    kubectl get  -f kubernetes-dashboard.yaml 

    发现deploy/kubernetes-dashboard-latest一直不在avaiable状态,通过下面命令查询

    kubectl get pods --all-namespaces

    发现kube-system的命名空间下,总是有个kubernetes-dashboard-latest-1590787137-pp8qd处于CrashLoopBackOff状态.

    可以通过下面命令查看namespace的日志情况

    kubectl describe po kubernetes-dashboard --namespace=kube-system

    删除kubernetes-dashboard

    因为没搞清楚什么原因,很想再试一次,删除命令如下:

    kubectl delete -f kubernetes-dashboard.yaml

    在运行kubectl get pods --all-namespaces发现总是有kube-system命名空间下的pod在运行.最后通过指定命名空间删除

    kubectl delete --all pods --namespace=kube-system

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

    注意,如果只删除pod会发现删完后又会有个同样的pod启动起来,删除deployment即可.

    查看日志确定原因

    最重要还是要看日志,最重要还是要看日志,最重要还是要看日志, 重要事情说三遍,此问题浪费3个钟头时间 :(

    kubectl logs -f kubernetes-dashboard-latest-3243398-thc7k -n kube-system

    [root@k8s-master ~]# kubectl logs -f kubernetes-dashboard-latest-3243398-thc7k -n kube-system
    Using HTTP port: 9090
    Using apiserver-host location: http://k8s-master:8080
    Creating API server client for http://k8s-master:8080
    Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service accounts configuration) or the --apiserver-host param points to a server that does not exist. Reason: Get http://k8s-master:8080/version: dial tcp: lookup k8s-master on 202.96.134.33:53: no such host
    Refer to the troubleshooting guide for more information: https://github.com/kubernetes/dashboard/blob/master/docs/user-guide/troubleshooting.md

    发现是dns把k8s-master解析成202.96.134.33的地址了,修改kubernetes-dashboard.yaml中的apiserver-host=http://k8s-master:8080为

    http://192.168.0.104:8080后,再进行create就成功.

    访问http://192.168.0.104:8080/ui,界面如下:

     

    点击weblogic Pod的日志,显示如下:

  • 相关阅读:
    C#学习资源汇总
    ASP.NET MVC从视图传参到控制器的几种形式
    ASP.NET MVC之从控制器传递数据到视图方式
    Scrapy at a glance预览
    登录views
    django加密解密api
    django静态模版使用
    django重定向
    Django 2.1.3 文档
    秀图看图 隐私声明
  • 原文地址:https://www.cnblogs.com/ericnie/p/6826908.html
Copyright © 2011-2022 走看看