创建用户密码文件

安装htpasswd工具

yum install -y httpd-tools

创建认证文件,输入密码

# 名称一定要是 auth
# -c表示创建文件
htpasswd -c auth admin
# 在增加一个用户
htpasswd auth tangweifeng
# 删除用户
htpasswd -D auth admin

查看文件内容

# cat auth
tangweifeng:$apr1$u8Oa4OvD$Is5bWmcOveLex.TFgHB9c1
admin:$apr1$ESHmtuXv$hVSij4XjWTAnhzFmNxjkg1

创建secret

kubectl create secret generic basic-auth --from-file=authfile

在Ingress中使用

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: web
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: basic-auth
nginx.ingress.kubernetes.io/auth-realm: '提示信息'
spec:
rules:
- host: web.ocp.com
http:
paths:
- path: /
backend:
serviceName: web
servicePort: 80