현상
- kubespray 1.22에서 1.23으로 업그레이드 진행 시 아래와 같은 에러 발생
TASK [network_plugin/calico : Check if inventory match current cluster configuration] ****************************************************************
fatal: [k8s-master01]: FAILED! => {
"assertion": "not calico_pool_conf.spec.ipipMode is defined or calico_pool_conf.spec.ipipMode == calico_ipip_mode",
"changed": false,
"evaluated_to": false,
"msg": "Your inventory doesn't match the current cluster configuration"
}
원인
- calico 모드 기본 값이 ipip에서 vxlan으로 변경
해결 방법
(1) IP in IP 모드로 사용할 경우
calico_ipip_mode: 'Always' # Possible values is `Always`, `CrossSubnet`, `Never`
calico_vxlan_mode: 'Never'
calico_network_backend: 'bird'
(2) BGP 모드
- BGP 모드에서 encapsulation을 하지 않음
calico_ipip_mode: 'Never'
calico_vxlan_mode: 'Never'
calico_network_backend: 'bird'
(3) ipip 모드에서 vxlan 모드로 변경
# All control-plane Nodes
cd /usr/local/bin
calicoctl.sh patch felixconfig default -p '{"spec":{"vxlanEnabled":true}}'
calicoctl.sh patch ippool default-pool -p '{"spec":{"ipipMode":"Never", "vxlanMode":"Always"}}'
calicoctl.sh patch felixconfig default -p '{"spec":{"ipipEnabled":false}}'
# upgrade
Calico 모드 확인 방법
# IPIP mode
root@k8s-master01:~# calicoctl get ippool -o wide
NAME CIDR NAT IPIPMODE VXLANMODE DISABLED SELECTOR
default-pool 10.233.64.0/18 true Always Never false all()
# VXLAN mode
root@sung-ubuntu01:~# calicoctl get ippool -o wide
NAME CIDR NAT IPIPMODE VXLANMODE DISABLED SELECTOR
default-pool 10.233.64.0/18 true Never Always false all()
'Kubernetes' 카테고리의 다른 글
Ceph-CSI 구성 (0) | 2023.02.10 |
---|---|
OS 옵션 변경 (0) | 2022.12.26 |
[LoadBalancer] MetalLB (0) | 2022.10.28 |
[K8s] grafana Alerm list (0) | 2022.10.24 |
[rook-ceph] 스토리지 배포 (0) | 2022.10.18 |