使用 Nginx Ingress Controller 设置 HTTP 负载平衡

使用 Nginx Ingress Controller 设置 HTTP 负载平衡

有人能写一下设置 HTTP 负载平衡的步骤吗Nginx 入口控制器适用于 Google Kubernetes Engine?

我关注了GKE 教程对于基本的 Ingress。最后有一个Forwarding Rulein选项卡。我想如果我想删除它,我需要使用Load BalancingLoad BalancerNginx 入口控制器

我看了这个Nginx Ingress GKE 教程,但我不知道如何结合这两个教程来让“Hello-app”在没有的情况下工作Load Balancer

答案1

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 你的 Web 应用

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

II. 如果你想用 nginx ingress controller 来实现

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}')

相关内容