有人能写一下设置 HTTP 负载平衡的步骤吗Nginx 入口控制器适用于 Google Kubernetes Engine?
我关注了GKE 教程对于基本的 Ingress。最后有一个Forwarding Rule
in选项卡。我想如果我想删除它,我需要使用Load Balancing
Load Balancer
Nginx 入口控制器?
我看了这个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}')