kubernetes
container multicast
misankim
2023. 3. 7. 00:23
컨테이너 멀티캐스트
# docker
## bridge 네트워크에서 컨테이너 안으로 멀티캐스트 트래픽 수신 불가(k8s와 동일, 포트 매핑해도 안됨)
## 네트워크 타입을 host로 설정 시 멀티캐스트 트래픽 수신 가능
# k8s
## 포드간 멀티캐스트는 weave-net cni 플러그인 배포 시 가능
## k8s에서도 host 네트워크 사용 시 멀티캐스트 트래픽 수신 가능
yaml 파일 예제
[root@ip-10-0-10-70 ~]# cat centos-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: centos
spec:
replicas: 2
selector:
matchLabels:
app: centos
template:
metadata:
labels:
app: centos
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: centos
image: centos:7
command: ["sleep"]
args: ["3600000"]
## 호스트 네트워크 사용 시 서비스 포트 중복이 발생하기 때문에 podAntiAffinity 사용하여 포드 배치
[root@ip-10-0-10-70 ~]# cat centos-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: centos
spec:
replicas: 2
selector:
matchLabels:
app: centos
template:
metadata:
labels:
app: centos
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- centos
topologyKey: "kubernetes.io/hostname"
containers:
- name: centos
image: centos:7
command: ["sleep"]
args: ["3600000"]