惜风不起、唯有努力!
k8s集群ingress-nginx认证web网站

k8s集群ingress-nginx认证web网站

前提: 已经拥有一个部署好的网站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

发表回复

您的电子邮箱地址不会被公开。