前提: 已经拥有一个部署好的网站html,nginx,tomcat还是框架啥的都行的pod。直接进入正题。
1、开始配置用户和密码。
yum -y install httpd-tools #生成用户密码工具
mkdir -p /opt/auto && cd /opt/auto
htpasswd -c web-auth test #生成用户密码保存在web-auto文件中
#生成secret,名为web-auto, -n 后面是命名空间
kubectl create secret generic web-auth --from-file=web-auth -n web
#查看secrets
kubectl get secrets -nweb
2、后端pod的ingress配置
ingress.yaml
--- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx namespace: web annotations: nginx.ingress.kubernetes.io/auth-type: basic # 开启basic认证 nginx.ingress.kubernetes.io/auth-secret: web-auth # 写入secret name nginx.ingress.kubecnetes.io/auth-realm: 'Authentication Required - foo' ingressclass.kubernetes.io/is-default-class: "true" spec: ingressClassName: nginx rules: - host: yys.nginx.cn http: paths: - path: / pathType: Prefix backend: service: name: nginx-svc port: number: 80
测试不带密码用户返回: curl yys.nginx.cn
测试带密码用户: curl -u test:123 yys.nginx.cn