创建dashboard

安装 Dashboard

配置 yaml。(注意提前下载镜像,打tag,并 push 到本地仓库)

# dashboard/dashboard-deploy.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: 172.16.156.128:5000/kubernetes-dashboard-amd64:v1.4.1 # 镜像需要上传到私有仓库
        resources: # Pod 资源限制
          # keep request = limit to keep this container in guaranteed class
          limits:
            cpu: 100m # 100M CPU
            memory: 50Mi # 50M 内存
          requests:
            cpu: 100m
            memory: 50Mi
        ports:
        - containerPort: 9090
        args:
         -  --apiserver-host=http://172.16.156.128:8080 # 参数定义了 api-server 的地址
        livenessProbe: # 健康检查探针
          httpGet:
            path: /
            port: 9090
          initialDelaySeconds: 30
          timeoutSeconds: 30
# dashboard/dashboard-svc.yaml
apiVersion: v1
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 # clusterIP 的端口
    targetPort: 9090 # 容器的端口

通过 kubectl create 创建资源后,需要通过 kubectl get all -n kube-system 指定查看某 ns(namespace)的资源(--all-namespaces 查看所有 ns 下资源)。

image.png

验证安装完成:
浏览器输入 http://172.16.156.128:8080/ 查看的是所有提供的 api,其中 /ui/ 就是 dashboard 页面,访问 /ui 后会再跳转到 UI 界面地址。

image.png
dashboard 界面

使用界面

使用界面创建资源。注意 Service 资源部分用 External 会自动分配外网访问端口,所指定的 Port 是 ClusterIP 的端口,TargetPort 是容器的端口。

image.png
创建的资源

service 资源

外网访问

你可能感兴趣的:(创建dashboard)