初始化成功集群后,我们需要安装网络pod到集群中。这里使用是Calico。
安装Calico
只需在master节点执行安装。
安装Tigera Calico operator
命令如下
kubectl create -f tigera-operator.yaml
tigera-operator.yaml连接下载:tigera-operator下载https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/tigera-operator.yaml
Calico安装
kubectl create -f custom-resources.yaml
根据需要修改参数cidr来匹配你设置pod网络cidr,custom-resources.yaml内容如下
# This section includes base Calico installation configuration.
# For more information, see: https://projectcalico.docs.tigera.io/master/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: 192.168.0.0/16
encapsulation: VXLANCrossSubnet
natOutgoing: Enabled
nodeSelector: all()
---
# This section configures the Calico API server.
# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.APIServer
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
name: default
spec: {}
检查Calico相关的pod
watch kubectl get pods -n calico-system
检查所有的pod是否处于running状态
加入节点
加入节点命令格式
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
可以参考kubeadm init初始化输出的日志,如下
kubeadm join 192.168.24.135:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:97056c4a02872fb494889e53c74e9f0c559c137545a97662ec1bac5a256736a0
如果没有令牌,可以通过在控制平面节点上运行以下命令来获取令牌:
kubeadm token list
默认情况下,令牌会在 24 小时后过期。如果要在当前令牌过期后将节点加入集群, 则可以通过在控制平面节点上运行以下命令来创建新令牌
kubeadm token create
如果你没有 --discovery-token-ca-cert-hash
的值,则可以通过在控制平面节点上执行以下命令链来获取它
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'