본문 바로가기

kubernetes

쿠버네티스 기본 환경 설정

netfilter란

Kubernetes에서 "netfilter"는 Linux 커널 내에서 동작하는 네트워크 패킷 필터링 및

NAT(Network Address Translation) 프레임워크이다.

이는 컨테이너와 Pod의 네트워킹과 관련된 작업을 처리하고 Kubernetes 클러스터 내에서

네트워크 트래픽을 제어하는 데 사용된다.

Kubernetes는 이러한 네트워크 제어 및 관리 작업을 수행하기 위해 iptables와 IPVS 등의

netfilter 관련 도구와 라이브러리를 사용한다.

이러한 기능은 Kubernetes 클러스터의 네트워크 구성을 관리하고 보안 및 가용성을

유지하는 데 필수적이다.

netfilter설정

pod끼리 통신이 가능하기위해선 netfilter모듈을 적재해야된다

방화벽인 iptables가bridge driver를 사용하여 통신을 하는 패킷들을 필터할수있는 netfilter를 활성화하기위해선 modprobe br_netfilter를 입력하여 적재한다.

sudo modprobe br_netfilter
//확인 lsmod | grep br_netfilter
sudo modprobe overlay

cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

리눅스 부팅 시 자동으로 br_netfilter를 load하기위해선

echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf 
//커널이 /etc/modules-load.d/ 경로에 있는 *.conf 파일들을 모조리 읽어서 module을 load 

모듈을 iptables가 사용할수있도록 설정

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 1
EOF

방화벽 해제 및 selinux해제

systemctl disable --now firewalld

echo "setenforce 0" >> /etc/bashrc
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

swap off

쿠버네티스를 구축할때는 swap기능을 꺼놓아야한다

이유는 쿠버네티스는 pod를 생성할때 필요한 만큼 리소스를 할당받아서 사용하는 구조이다.

따라서 메모리 swap을 고려하지않고 설계되었기때문에 클러스터

node들은 모두 swap메모리를 비활성해줘야 한다

swapoff -a //중지
sed -i '/swap/s/^/#/' /etc/fstab  //껏다켜도 중지

설정 적용
sysctl --system

hosts

master와 worker node 간 통신을 수월하게 하기 위함DNS 서버가 별도로 있으면 별도로 작업

 

cat <<EOF >> /etc/hosts
192.168.255.50 master
192.168.255.51 worker1
192.168.255.52 worker2
EOF

cat <<EOF >> /etc/hosts
192.168.116.10 master
192.168.116.11 worker1
192.168.116.12 worker2
192.168.116.15 bastion
EOF

'kubernetes' 카테고리의 다른 글

쿠버네티스 원격 서버 설정  (0) 2023.10.10
쿠버네티스 노드생성  (0) 2023.10.10
쿠버네티스 nodeport clusterip  (0) 2023.10.10
쿠버네티스 아키텍쳐  (0) 2023.10.10
쿠버네티스 네트워크  (0) 2023.10.10