当我运行kubectl get svc -n kube-system
时,它会告诉我:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP xx.xx.xx.xx <none> 53/UDP,53/TCP 13h
但是当我尝试kubectl edit svc/kube-dns -n kube-system
时:
错误:服务“ kube-dns”无效
您所做的更改的副本已存储到“ /tmp/kubectl-edit-4p5gn.yaml”中
错误:修改已取消,未保存有效更改。
我无法将其更改为LoadBalancer ...有什么想法吗?
我也试图创建一个新的kube-dns,但是我无法获得一个外部IP。它停留在待处理状态。
kind: Service
metadata:
name: kubedns-bkp
namespace: kube-system
labels:
k8s-app: kube-dns
spec:
type: LoadBalancer
ports:
- port: 53
protocol: UDP
selector:
k8s-app: kube-dns
kubectl get svc -n kube-system
报告:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubedns-bkp LoadBalancer xx.xx.xx.xx <pending> 53:32115/UDP 5h
注意:我已经创建了具有ELB集成的k8s集群,对于其他服务,我成功获得了外部IP。
答案 0 :(得分:2)
所以,这里有两件事:
type:
的{{1}};您必须创建一个新的,或删除现有的然后重新创建。Service
kube-dns
-非常欢迎您创建一个新的Service
Service
并将其指向与type: LoadBalancer
使用的相同的selector:
。这样,任何希望使用负载平衡服务的人都可以使用,但是依靠kube-dns
是kube-dns
且具有(可能)现有xx.xx.xx.xx值的集群中的事物可以继续和以前一样。