1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/atompi-Prod-K8S-HA-Installer

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
tempshell.md 4.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.06.2025 20:41 632c71c

Отключение SELinux, огненной стены, NetworkManager и dnsmasq

sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

setenforce 0

systemctl stop firewalld.service
systemctl disable firewalld.service

systemctl disable --now NetworkManager
systemctl disable --now dnsmasq

Установка зависимых пакетов и обновление установленных приложений

yum install -y epel-release
yum install jq psmisc socat yum-utils device-mapper-persistent-data lvm2 cri-o ipvsadm ipset sysstat conntrack libseccomp
yum update -y --exclude=kernel*

Обновление версии ядра

elrepo установка последней версии ядра онлайн

yum install -y elrepo-release
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
reboot

Загрузка rpm пакета для установки указанной версии ядра

export Kernel_Version=5.3.7-1
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml{,-devel}-${Kernel_Version}.el7.elrepo.x86_64.rpm
yum localinstall -y kernel-ml*
grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
reboot

Включение модуля ядра ipvs

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack ip_vs_fo"
for kernel_module in \${ipvs_modules}; do
    /sbin/modinfo -F filename \${kernel_module} > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        /sbin/modprobe \${kernel_module}
    fi
done
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs

Изменение параметров ядра и отключение swap

cat << EOF > /etc/sysctl.d/k8s.conf
fs.inotify.max_user_watches = 89100
## Только для RHEL
fs.may_detach_mounts = 1
fs.file-max = 52706963
fs.nr_open = 52706963

vm.swappiness = 0
vm.overcommit_memory = 1
vm.panic_on_oom = 0
vm.max_map_count = 2560000
EOF
```net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 2
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
EOF
```net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fastopen = 3
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
## modprobe br_netfilter
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
## modprobe nf_conntrack
net.netfilter.nf_conntrack_max = 2310720
EOF

sysctl --system
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab

## Установка Calico

export POD_SUBNET=10.244.0.0/16 wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml sed -i "s#192.168.0.0/16#${POD_SUBNET}#" calico.yaml kubectl apply -f calico.yaml


## Добавление Taint и label для sys-node

taint

kubectl taint nodes k8s-n1 GiteeCommonAddonsOnly=yes:NoSchedule kubectl taint nodes k8s-n2 GiteeCommonAddonsOnly=yes:NoSchedule

label

kubectl label node k8s-n1 "node_role=sys-node" kubectl label node k8s-n2 "node_role=sys-node"


## Для общих компонентов развертывание только на sys-node, добавление Toleration для deployment
  nodeSelector:
    node_role: sys-node

  tolerations:
    - key: GiteeCommonAddonsOnly
      operator: "Equal"
      value: "yes"
      effect: "NoSchedule"

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/atompi-Prod-K8S-HA-Installer.git
git@api.gitlife.ru:oschina-mirror/atompi-Prod-K8S-HA-Installer.git
oschina-mirror
atompi-Prod-K8S-HA-Installer
atompi-Prod-K8S-HA-Installer
stacked