k8s v1.9.9 二进制部署 (11)部署dashboard

cd /root/pod

vim dashboard.yaml

# ------------------- Dashboard Secret ------------------- #

apiVersion: v1

kind: Secret

metadata:

 labels:

   k8s-app: kubernetes-dashboard

 name: kubernetes-dashboard-certs

 namespace: kube-system

type: Opaque

---

# ------------------- Dashboard Service Account ------------------- #

apiVersion: v1

kind: ServiceAccount

metadata:

 labels:

   k8s-app: kubernetes-dashboard

 name: kubernetes-dashboard-admin

 namespace: kube-system

 

---

# ------------------- Dashboard Role & Role Binding ------------------- #

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: ClusterRoleBinding

metadata:

 name: kubernetes-dashboard-admin

 labels:

   k8s-app: kubernetes-dashboard

roleRef:

 apiGroup: rbac.authorization.k8s.io

 kind: ClusterRole

 name: cluster-admin

subjects:

- kind: ServiceAccount

 name: kubernetes-dashboard-admin

 namespace: kube-system

---

kind: Deployment

apiVersion: apps/v1beta2

metadata:

 labels:

   k8s-app: kubernetes-dashboard

 name: kubernetes-dashboard

 namespace: kube-system

spec:

 replicas: 1

 revisionHistoryLimit: 10

 selector:

   matchLabels:

     k8s-app: kubernetes-dashboard

 progressDeadlineSeconds: 5

 template:

   metadata:

     labels:

       k8s-app: kubernetes-dashboard

   spec:

     containers:

     - name: kubernetes-dashboard

       image: 192.168.7.131:5000/dashboard:v1.8.3  #写入自己的仓库地址,或者用公网的。

       ports:

       - containerPort: 9090

         protocol: TCP

         name: http

       args:

         #- --auto-generate-certificates

         - --heapster-host=http://heapster

         # Uncomment the following line to manually specify Kubernetes API server Host

         # If not specified, Dashboard will attempt to auto discover the API server and connect

         # to it. Uncomment only if the default does not work.

         # - --apiserver-host=http://my-address:port

       volumeMounts:

       - name: kubernetes-dashboard-certs

         mountPath: /certs

         # Create on-disk volume to store exec logs

       - mountPath: /tmp

         name: tmp-volume

       livenessProbe:

         httpGet:

           scheme: HTTP

           path: /

           port: 9090

         initialDelaySeconds: 30

         timeoutSeconds: 30

     volumes:

     - name: kubernetes-dashboard-certs

       secret:

         secretName: kubernetes-dashboard-certs

     - name: tmp-volume

       emptyDir: {}

     serviceAccountName: kubernetes-dashboard-admin

     # Comment the following tolerations if Dashboard must not be deployed on master

     tolerations:

     - key: node-role.kubernetes.io/master

       effect: NoSchedule

---

# ------------------- Dashboard Service ------------------- #

kind: Service

apiVersion: v1

metadata:

 labels:

   k8s-app: kubernetes-dashboard

 name: kubernetes-dashboard

 namespace: kube-system

spec:

 type: NodePort

 ports:

   - port: 9090

     targetPort: 9090

     nodePort: 30081

     name: ui

 selector:

   k8s-app: kubernetes-dashboard

 

$kubectl create -f dashboard.yaml

$kubectl get pod -n kube-system -o wide

 

 

 

原文地址:https://www.cnblogs.com/you-xiaoqing/p/14303115.html