VPC+NLB+ALB+DDoS+DNS
April 20, 2023
ALB ingress
Пример с одним приложением и одним сервисом.
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: cam-deploy-nginx namespace: default labels: app: app22 spec: replicas: 1 selector: matchLabels: app: app22 template: metadata: labels: app: app22 spec: containers: - name: nginx image: nginx:latest ports: - name: http containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: cam-mynginx22 namespace: default spec: type: NodePort selector: app: app22 ports: - name: http port: 80 targetPort: 80 protocol: TCP nodePort: 30081 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cam-mynginx22 namespace: default annotations: ingress.alb.yc.io/subnets: e9b16nenl5a52h6o9djb ingress.alb.yc.io/external-ipv4-address: 51.250.91.99 ingress.alb.yc.io/group-name: infra-alb ingress.alb.yc.io/security-groups: enpauibqifvmvss6balo spec: rules: - host: testest.cameda.ga http: paths: - path: / pathType: Prefix backend: service: name: cam-mynginx22 port: number: 80 EOF
Пример с несколькими приложениями.
apiVersion: apps/v1 kind: Deployment metadata: name: app1 namespace: default labels: app: app1 spec: replicas: 1 selector: matchLabels: app: app1 template: metadata: labels: app: app1 spec: containers: - name: nginx image: nginx:latest ports: - name: http containerPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: app2 namespace: default labels: app: app2 spec: replicas: 1 selector: matchLabels: app: app2 template: metadata: labels: app: app2 spec: containers: - name: httpbin image: kennethreitz/httpbin:latest ports: - name: http containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: app1 namespace: default spec: type: NodePort selector: app: app1 ports: - name: http port: 8080 targetPort: 80 protocol: TCP nodePort: 30080 --- apiVersion: v1 kind: Service metadata: name: app2 namespace: default spec: type: NodePort selector: app: app2 ports: - name: http port: 8081 targetPort: 80 protocol: TCP nodePort: 30081 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: httpbin namespace: default annotations: ingress.alb.yc.io/subnets: e9b16nenl5a52h6o9djb ingress.alb.yc.io/external-ipv4-address: 51.250.15.214 ingress.alb.yc.io/group-name: infra-alb ingress.alb.yc.io/security-groups: enpauibqifvmvss6balo ingress.alb.yc.io/upgrade-types: WebSocket ingress.alb.yc.io/idle-timeout: 5m spec: rules: - host: mac.infra.cameda.ga http: paths: - path: /app1 pathType: Prefix backend: service: name: app1 port: number: 8080 - path: /app2 pathType: Prefix backend: service: name: app2 port: number: 8081
Полезные ссылки
Список аннотаций: https://cloud.yandex.ru/docs/application-load-balancer/k8s-ref/ingress#annotations
April 20, 2023, 12:17
0 views
0 reposts