我正在云环境中配置 Kubernetes。
我使用以下命令配置了集群。
kubeadm init \
--apiserver-advertise-address=172.16.100.10 \
--pod-network-cidr=100.100.0.0/16 \
--apiserver-cert-extra-sans=0.0.0.0 \
--upload-certs
我想安装 Calico,所以我引用了官方网站安装它。
在该custom-resources.yaml
文件中,我将 CIDR 更改为 100.100.0.0/16。
# This section includes base Calico installation configuration.
# For more information, see: https://docs.tigera.io/calico/latest/reference/installation/api#operator.tigera.io/v1.Installation
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
name: default
spec:
# Configures Calico networking.
calicoNetwork:
# Note: The ipPools section cannot be modified post-install.
ipPools:
- blockSize: 26
cidr: 100.100.0.0/16
encapsulation: VXLANCrossSubnet
natOutgoing: Enabled
nodeSelector: all()
---
# This section configures the Calico API server.
# For more information, see: https://docs.tigera.io/calico/latest/reference/installation/api#operator.tigera.io/v1.APIServer
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
name: default
spec: {}
当我查看 pod 状态时,calico-node pod 是0/1 Running
,所以我用描述检查了它并得到以下信息
error: calico/node is not ready: BIRD is not ready: BGP not established with this error.
我已在云控制台中使用防火墙允许了 0.0.0.0/179。
我该如何解决?
答案1
以下解决方案对我有用:
检查你的安装crd,尝试更新
nodeAddressAutodetectionV4:
interface: eth*
确保您的 calico 节点绑定到正确的网络设备。