티스토리 뷰
Flannel이란
- Flannel: 서로 다른 노드에 있는 pod 간 통신을 완성하기 위해서 network plugin이 필요한데, 이 때 그 중 하나가 Flannel plugin이다
- 노드1에서 노드 2로 다른 ip끼리 패킷을 보낼 때, 보내는 컨테이너의 출발지와 목적지를 가지고 있고, flannel에서 패킷을 주고받는 node의 출발지와 목적지 정보를 UDP 로 캡슐화해서 보내는 역할을 수행한다.
Flannel 설치하기
공식 github: https://github.com/flannel-io/flannel
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인 문제만 해결하면 됨
'CLOUD > Kubernetes' 카테고리의 다른 글
Dockerfile, deploment, service example (0) | 2021.06.28 |
---|---|
CrashLoopBackOff 에러해결 방법 (pod 생성시 중요한 부분) (0) | 2021.06.27 |
pod 생성시 pending 에러 해결방법 (0) | 2021.06.27 |
[Minikube] 에러해결 kubeconfig: Misconfigured일 때 (0) | 2021.06.27 |
[Minikube] Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.20.2 requires conntrack to be installed in root's path (0) | 2021.06.27 |