我安装MetalLB是为了能够通过IP我的网络公开我的服务。安装完成后,我尝试了一个简单的hello-world命令:https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/
我注意到,外部IP始终处于状态
在控制器pod的日志中,我得到了以下错误消息:
{"caller":"reflector.go:205","level":"error","msg":"go.universe.tf/metallb/internal/k8s/k8s.go:231: Failed to list *v1.Service: Get https://10.96.0.1:443/api/v1/services?limit=500\u0026resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout","ts":"2019-04-23T12:16:31.3694Z"}
{"caller":"reflector.go:205","level":"error","msg":"go.universe.tf/metallb/internal/k8s/k8s.go:237: Failed to list *v1.ConfigMap: Get https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig\u0026limit=500\u0026resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout","ts":"2019-04-23T12:17:01.779341Z"}我照常安装了Kubernetes,并使用以下命令进行了初始化:sudo kubeadm init --pod-network-cidr=10.21.8.128/25 --apiserver-advertise-address=10.21.8.1
在"kube-controller-manager.yaml"中,我更改了"node-cidr-mask"的大小,因为标准值是"/24",而集群大小是"/25":--node-cidr-mask-size=26
我还安装了flannel和Kubernetes Dashboard。一切都很好!
我根据:https://metallb.universe.tf/tutorial/layer2/安装了MetalLB
并使用以下配置配置了MetalLB:
*apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: my-ip-space
protocol: layer2
addresses:
- 10.21.8.129-10.21.8.254*我错过了什么吗?
发布于 2020-03-03 05:54:40
Flannel的一个常见错误是使用kubadm init设置您自己的pod-network-cidr,然后不将相同的CIDR放入Flannel的YAML清单中,因为他们在Flannel上游文件中硬编码了一个默认CIDR,而这可能与您的不同。
先检查一下。
发布于 2019-05-03 17:42:52
您可以更改范围,第一次尝试与有限的范围可能是单一的ip也可以尝试,我的意思是地址刚刚提到- 10.21.8.12
https://stackoverflow.com/questions/55811613
复制相似问题