티스토리 뷰

Flannel이란

  • Flannel: 서로 다른 노드에 있는 pod 간 통신을 완성하기 위해서 network plugin이 필요한데, 이 때 그 중 하나가 Flannel plugin이다
  • 노드1에서 노드 2로 다른 ip끼리 패킷을 보낼 때, 보내는 컨테이너의 출발지와 목적지를 가지고 있고, flannel에서 패킷을 주고받는 node의 출발지와 목적지 정보를 UDP 로 캡슐화해서 보내는 역할을 수행한다.

 

Flannel 설치하기

공식 github: https://github.com/flannel-io/flannel

 

GitHub - flannel-io/flannel: flannel is a network fabric for containers, designed for Kubernetes

flannel is a network fabric for containers, designed for Kubernetes - GitHub - flannel-io/flannel: flannel is a network fabric for containers, designed for Kubernetes

github.com

 

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 

Flannel 설정하기

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
vim /etc/cni/net.d/10-flannel.conflist

{
"name": "cbr0",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}

 

 

이 아래 같은 경우, 자동으로 생성되어야 하지만 자동으로 생성되지 않을 경우 다음과 같은 디렉토리와 파일을 만든다

sudo vim /run/flannel/subnet.env 

FLANNEL_NETWORK=10.172.0.0/16 
FLANNEL_SUBNET=10.172.62.1/24 
FLANNEL_MTU=1450 
FLANNEL_IPMASQ=true


이러고 나서 pod을 생성하니까 ip가 잡힘
Status: Running IP: 10.172.62.4 IPs: IP: 10.172.62.4
이제 pod status는 Running이 되었고, container 가 crashLoopBackOff인 문제만 해결하면 됨

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함