我最近将k8集群更新为1.18。之后,我不得不重新创建一个(以前起作用的)loadBalancer服务。它似乎正常启动,但是此后我无法访问外部ip。在查看kubectl describe service
的转储时,我没有看到在没有重新启动的其他服务上看到的“ loadbalancer ingress”字段。
apiVersion: v1
kind: Service
metadata:
name: search-master
labels:
app: search
role: master
spec:
selector:
app: search
role: master
ports:
- protocol: TCP
port: 9200
targetPort: 9200
name: serviceport
- port: 9300
targetPort: 9300
name: dataport
type: LoadBalancer
loadBalancerIP: 10.95.96.43
我尝试添加(无济于事):
status:
loadBalancer:
ingress:
- ip: 10.95.96.43
我在这里错过了什么?
另一个奇怪的事情:当我将服务转储为yaml时,我会在顶部获得该条目:
apiVersion: v1
items:
- apiVersion: v1
kind: Service
...
spec:
clusterIP: <internal address>
...
type: LoadBalancer
status:
loadBalancer: {}
kind: List
metadata:
resourceVersion: ""
selfLink: ""
我的yml出问题了?
答案 0 :(得分:1)
对于遥远的观察者-这很可能是由于metallb版本冲突造成的。请注意,1.17-> 1.18引入了一些重大更改。