我在将我们的CLB升级到NLB时遇到了麻烦。我通过控制台通过向导进行了手动升级,但连接不起作用。需要进行此升级,以便在负载均衡器中使用静态is。我认为它需要通过kubernetes进行升级,但我的尝试失败了。
我(想我)对这个设置的理解是,这个负载均衡器是使用Helm设置的。我还了解到,入口(控制器)负责将http请求重定向到https。并且这个lb在第四层上工作。
apiVersion: v1
kind: Service
metadata:
labels:
app: nginx-ingress
chart: nginx-ingress-1.30.0
component: controller
heritage: Tiller
release: nginx-ingress-external
name: nginx-ingress-external-controller
namespace: kube-system
selfLink: /api/v1/namespaces/kube-system/services/nginx-ingress-external-controller
spec:
clusterIP: 172.20.41.16
externalTrafficPolicy: Cluster
ports:
- name: http
nodePort: 30854
port: 80
protocol: TCP
targetPort: http
- name: https
nodePort: 30621
port: 443
protocol: TCP
targetPort: https
selector:
app: nginx-ingress
component: controller
release: nginx-ingress-external
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- hostname: xxx.region.elb.amazonaws.com如何通过修改此配置文件来执行升级?
发布于 2021-02-11 01:10:00
正如@Jonas在评论部分指出的那样,使用与现有LoadBalancer Service相同的选择器创建一个新的Jonas可能是最快、最简单的方法。因此,我们将有两个使用相同ingress-controller的LoadBalancer Services。
您可以在以下代码片段中看到,我有两个具有完全相同端点的Services (ingress-nginx-1-controller和ingress-nginx-2-controller):
$ kubectl get pod -o wide ingress-nginx-1-controller-5856bddb98-hb865
NAME READY STATUS RESTARTS AGE IP
ingress-nginx-1-controller-5856bddb98-hb865 1/1 Running 0 55m 10.36.2.8
$ kubectl get svc ingress-nginx-1-controller ingress-nginx-2-controller
NAME TYPE CLUSTER-IP EXTERNAL-IP
ingress-nginx-1-controller LoadBalancer 10.40.15.230 <PUBLIC_IP>
ingress-nginx-2-controller LoadBalancer 10.40.11.221 <PUBLIC_IP>
$ kubectl get endpoints ingress-nginx-1-controller ingress-nginx-2-controller
NAME ENDPOINTS AGE
ingress-nginx-1-controller 10.36.2.8:443,10.36.2.8:80 39m
ingress-nginx-2-controller 10.36.2.8:443,10.36.2.8:80 11m此外,为了避免停机,我们可以首先更改DNS记录以指向新的LoadBalancer,在传播时间过后,我们可以安全地删除旧的LoadBalancer Service。
https://stackoverflow.com/questions/66013460
复制相似问题