Особенности развертывания на Oracle Linux

Для запуска K3s кластера Kubernetes на Oracle Linux 8/9 необходимо либо полностью отключить firewalld, либо настроить необходимые правила для корректной работы сети Kubernetes.

Примечание

При развертывании дистрибутива через скрипт ./init.sh с установкой K3s кластера Kubernetes правила для Oracle Linux будут применены в автоматическом режиме.

sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1
sudo firewall-cmd --reload

Основные порты, используемые для работы K3s:

Диапазон портов Протокол Описание
6443 TCP Основной API-сервер Kubernetes (master)
2379-2380 TCP Etcd (при многомастерной установке)
10250 TCP Kubelet API
8472 UDP VXLAN (flannel сеть, если используется)
30000-32767 TCP Диапазон портов для NodePort-сервисов

Примеры для firewalld:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Добавьте правила для нужных портов или для сетевых интерфейсов:

# traffic between k8s pod network subnets
sudo firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16
sudo firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16
# or
sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1


# k8s api server access for all nodes (optional)
sudo firewall-cmd --permanent --add-port=6443/tcp
# client requests to etcd and peer communication between etcd members (optional)
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
# kubelet api port on each node (optional)
sudo firewall-cmd --permanent --add-port=10250/tcp
# flannel vxlan pod network communication (optional)
sudo firewall-cmd --permanent --add-port=8472/udp
# node port external traffic (optional)
sudo firewall-cmd --permanent --add-port=30000-32767/tcp

sudo firewall-cmd --reload

Если файрвол не мешает работе, предпочтительнее настроить только необходимые порты вместо полного его отключения. Это поможет сохранить базовую безопасность системы при допустимых настройках для Kubernetes.