Reputation: 10469
I updated my k8 cluster to 1.18 recently. Afterwards I had to recreate a (previously functional) loadBalancer service. It seemed to come up properly but I was unable to access the external ip afterwards. Looking at the dump from kubectl describe service
I don't see a field for "loadbalancer ingress" that I see on other services that didn't get restarted.
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
I tried adding this (to no avail):
status:
loadBalancer:
ingress:
- ip: 10.95.96.43
What have I missed here?
Another odd thing: when I dump the service as yaml I get this entry at the top:
apiVersion: v1
items:
- apiVersion: v1
kind: Service
...
spec:
clusterIP: <internal address>
...
type: LoadBalancer
status:
loadBalancer: {}
kind: List
metadata:
resourceVersion: ""
selfLink: ""
Something wrong with my yml?
Upvotes: 0
Views: 276
Reputation: 10469
For a distant observer - this is likely due to metallb version conflict. Note that 1.17-> 1.18 introduces some breaking changes.
Upvotes: 1