Nginx
April 7, 2023
Nginx. Ingress. Basic auth
Аутентификация по паролю в ингрессе.
dig tat.cameda.ga. +short 51.250.15.214
htpasswd -c auth cameda kubectl create secret generic basic-auth --from-file=auth
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx && \ helm repo update && \ helm install ingress-nginx ingress-nginx/ingress-nginx
Ingress без TLS сертификата с авторизацией.
cat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cam-ingress
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: 'Authentication Required - Alex Wolf'
spec:
rules:
- host: tat.cameda.ga
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app
port:
number: 80
---
apiVersion: v1
kind: Service
metadata:
name: app
spec:
selector:
app: app
externalTrafficPolicy: Local
type: LoadBalancer
loadBalancerIP: 51.250.15.214
ports:
- port: 80
name: http
targetPort: 80
- port: 443
name: https
targetPort: 443
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-deployment
labels:
app: app
spec:
replicas: 1
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: app
image: nginx:latest
ports:
- containerPort: 80
EOFkubectl get ing NAME CLASS HOSTS ADDRESS PORTS AGE cam-ingress <none> tat.cameda.ga 84.201.135.235 80 72s
dig tat.cameda.ga. +short 84.201.135.235
Если имя секрета создать любое другое, не basic-auth, то будет 503 ошибка.
В DNS прописывается именно IP ingress, а не балансера. Тогда это будет работать.
Перед тем как создавать спеку ingress необходимо в начале поставить ingress-nginx через helm.
helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION ingress-nginx default 1 2023-04-10 22:30:22.357894 +0300 MSK deployed ingress-nginx-4.6.0 1.7.0
April 7, 2023, 18:46
0 views
0 reposts