Назад | Перейти на главную страницу

Настройка балансировки нагрузки HTTP с помощью контроллера Nginx Ingress

Может ли кто-нибудь написать шаги по настройке балансировки нагрузки HTTP с помощью Контроллер Nginx Ingress для Google Kubernetes Engine?

Я следил за этим Учебник GKE для базового Ingress. Он получил Forwarding Rule в Load Balancing вкладка в конце. Думаю, если я захочу удалить это Load Balancer, Мне нужно будет использовать Контроллер Nginx Ingress?

Я смотрел на это Руководство по Nginx Ingress GKE, но я не знаю, как объединить эти два руководства, чтобы «Hello-app» работало без Load Balancer.

I. Если вы используете входной контроллер GKE

1)

  kubectl run web --image=gcr.io/google-samples/hello-app:1.0 --port=8080

2)

kubectl expose deployment web --target-port=8080 --type=NodePort

3)

cat <<EOF > ./ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx
spec:
  backend:
    serviceName: web
    servicePort: 8080 
EOF

4)

kubectl apply -f ingress.yaml

5) Подождите до 5 минут, пока GKE не применит правила брандмауэра для вашего входящего трафика.

6) Сверните свое веб-приложение

curl $(kubectl get ingress nginx | awk 'NR==2{print $3}')

II. Если вы хотите сделать это с помощью контроллера входящего трафика nginx

1)

  kubectl run web --image=gcr.io/google-samples/hello-app:1.0 --port=8080

2)

kubectl expose deployment web --target-port=8080 --type=NodePort

3)

helm install stable/nginx-ingress

4)

cat <<EOF > ./ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  name: nginx-ingress
spec:
  backend:
    serviceName: web
    servicePort: 8080
EOF

5)

kubectl apply -f ingress.yaml

6)

curl $(kubectl get svc |grep nginx-ingress-controller|awk '{print $4}')