1.准备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: registry.cn-beijing.aliyuncs.com/omgasw/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://192.168.1.201:8080 #修改apiserver地址 livenessProbe: httpGet: path: / port: 9090 initialDelaySeconds: 30 timeoutSeconds: 30
2.准备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 targetPort: 9090
3.在master主机执行创建pod
kubectl create -f dashboard.yaml
kubectl create -f dashboard-svc.yaml
4.验证pod状态,部署完成
[root@master01 ~]# kubectl get deployment -n kube-system NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE kubernetes-dashboard-latest 1 1 1 1 27m
[root@master01 ~]# kubectl get svc -n kube-system -o wide NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kubernetes-dashboard 10.254.110.133 <none> 80/TCP 31m k8s-app=kubernetes-dashboard
[root@master01 ~]# kubectl get pod -o wide --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE kube-system kubernetes-dashboard-latest-2956427889-5r0m8 1/1 Running 0 32m 172.16.60.2 192.168.1.202
访问http://192.168.1.201:8080/ui #master主机地址
如果无法访问请参考以下:https://blog.csdn.net/fei79534672/article/details/78710858
iptables -nL #查看iptables策略
iptables -P FORWARD ACCEPT