현상

- 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

+ Recent posts