本教程不提供ingress-nginx的安装步骤
在搭建好dashboard后我们通常是使用NodePort的方式去访问,本次教程将使用ingress-nginx将dashboard暴露出来。
首先生成https服务需要的证书,其中dashboard.kube.com为本次使用的域名需要和ingress中保持一致
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout kube-dashboard.key -out kube-dashboard.crt -subj "/CN=dashboard.kube.com/O=dashboard.kube.com"
创建secret,在ingress不能直接使用证书需要转换为secret才能使用
kubectl create secret tls dashboard-tls --key kube-dashboard.key --cert kube-dashboard.crt -n kubernetes-dashboard
创建Ingress,Ingress内容如下,注意Ingress的namespace必须和后端服务在同一个名称空间中不然创建后依然无法访问
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-dashboard
namespace: kubernetes-dashboard
annotations:
nginx.ingress.kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
tls:
- hosts:
- d