월루를 꿈꾸는 대학생
KNAS 3주차 _ 2 본문
calico 네트워크 모드
- ipip모드 : 원본 패킷이 ipip오버레이 기법으로 outer패킷에 감싸져서 통신됨
- direct 모드 : 오버헤드 없이 파드의 ip패킷이 그대로 다른 노드와 통신 , 성능이 좋음
- vxlan 모드 : 오버헤드가 vxlan , bgp가 동작 불가 , flannel과 같은 방식
- pod 패킷 암호화 : 와이어가드 기법으로 패킷 암호화
Direct 모드
- 파드 패킷이 노드 라우팅 정보를 보고 바로 목적지 노드로 원본 패킷 그대로 전달
# 칼리코 모드 확인
# 기본 ipip 모드
# ipip 모드 변경 never로 변경 후 상태 확인
# tunnel이 아닌 enp0s8로 통신 바로 빠져나감
# 다이렉트 모드에서 자기들과 같은 대역의 노드끼리는 통신가능하지만 다른 네트워크 대역인 w0의 경우는 통신이 불가
# 파드의 ip가 직접적으로 노출이 되어 있는 상태
# w0로 가려고 하면 rtr을 거쳐서 가야하는데 rtr의 라우팅 테이블엔 노드의 ip는 있지만 해당 파드의 정보가 없어서 패킷이 드랍당함
# 오버레이에서는 노드의ip가 감싸져 있으니 통신이 잘 되었지만 다이렉트로 네트워크 오버레이 끄니까 파드 ip없어서 불가
# 172 대역이 아예 없다 !
# 이런 경우 파드 대역을 rtr에 추가해주면 되지만,,, 파드 네트워크 대역은 수시로 삭제 추가 변경이 되기에 일일이 요청할 수 없어 오버레이를 쓰기도 함 -> 오버레이가 필요한 이유
CrossSubnet 모드
- 노드 간 같은 네트워크 대역의 경우 Direct로 노드간 다른 네트워크는 ipip모드로 동작 하도록 해줌
- 네트워크 팀 도움없이 가능하다
# 다른 네트워크 대역만 tunnel로 나가도록 설정됨
파드들 간의 nat 없이 안정적인 네트워크 환경을 만들어주는 overlay 네트워크
BGP 연동
- K8S 클러스터 내부 네트워크와 idc 온프레미스 네트워크 대역간 BGP를 통해서 통신
- 내부에 BGP가 도니까 칼리코의 POD 내역이 BGP로 사내 네트워크로 자동 전파가 됨 동적 라우팅
- 사내 네트워크 추가 변경 삭제 및 쿠버네티스의 네트워크 추가 변경 삭제가 유기적으로 연동 가능
#rtr의 온프레미스 네트워크라고 생각 10.1.1.0 - 10.1.2.0 대역
# 칼리코 nat diable 설정
# 모든 통신은 이제 라우팅 테이블 기반으로
calicoctl get ippool default-ipv4-ippool -o yaml | sed -e "s/natOutgoing: true/natOutgoing: false/" | calicoctl apply -f -
cat <<EOF | calicoctl apply -f - apiVersion: projectcalico.org/v3 kind: BGPPeer metadata: name: bgppeer-rtr spec: peerIP: 192.168.10.254 asNumber: 64512 EOF
peerip는 라우터 ip
# 마스터 쪽에 온프레미스단의 ip정보가 업데이트 됨
# bgp를 통해 동적으로 추가됨
# 이 상태라면 다이렉트 모드로 통신이 가능
# 라우터 쪽도 파드 ip 확인 가능
# 글로벌이 추가됨
# 온프레미스 쪽 물리적 장비
# 설정 후 라우터에서 pod 쪽으로 통신이 원할하게 잘 됨
# 사내 대역에서 쿠버네티스 쪽으로 통신이 잘 됨
# 쿠버네티스에서 물리 라우터로 통신 가능
pod 패킷 암호화 ( 네트워크 레벨 ) -wireguard
- wireguard 터널을 자동 생성하여 파드 의 트래픽 암호화 가능
- 칼리코에서 한줄로 세팅 가능
calicoctl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":true}}'
- 상대방을 peer로 인식하기에 ip 바껴도 끊기지 않음
# 인터페이스 생성됨
# w1 -> w2
# 패킷 확인시 암호화 되어 있고 프로토콜은 wiregurad
'Server&Network > Kubernets_Dokcer' 카테고리의 다른 글
KNAS Service (ClusterIP & NodePort) (0) | 2022.02.12 |
---|---|
쿠버네티스 대시보드 삽질기 (0) | 2022.02.06 |
KNAS 3주차_1 (0) | 2022.02.02 |
KANS 2주차_2 PAUSE (0) | 2022.01.20 |
KNAS 2주차_1 Flannel (0) | 2022.01.20 |