Kubernetes (K8s) — бұл контейнерлік қосымшаларды орналастыруды, масштабтауды және басқаруды автоматтандыруға арналған ашық жүйе.
Бұл мақалада Ubuntu 22.04 операциялық жүйесіне Kubernetes орнату қадамдары сипатталған, Docker орнату, мастер-түйінді инициализациялау, воркер-түйіндерді қосу және ең үздік тәжірибелер қарастырылады.
Алдын ала талаптар
Kubernetes орнатпас бұрын, жүйеңіз келесі талаптарға сәйкес келетініне көз жеткізіңіз:
- Ең аз дегенде екі сервер Ubuntu 22.04: Біреуі мастер-түйінге және бір немесе бірнеше воркер-түйіндерге арналған.
- Әр түйінде кемінде 2 ГБ ЖЖҚ (RAM).
- Әр түйінде кемінде 2 CPU.
- Түйіндер арасындағы желілік байланыс.
- Орнатылған Docker (немесе басқа контейнерлік платформа).
1-қадам: Жүйені дайындау
Жүйеңізді жаңартыңыз және қажетті пакеттерді орнатыңыз:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
Түсіндірме:
apt update && apt upgrade -y
— пакеттер тізімін жаңарту және барлық орнатылған пакеттерді соңғы нұсқаларға дейін жаңарту.apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
— жаңа репозиторийлерді қосу және сертификаттарды басқаруға қажетті құралдарды орнату.
2-қадам: Docker орнату
Kubernetes контейнерлерді басқару үшін Docker пайдаланады. Docker орнатамыз:
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
Docker орнатуын тексеріңіз:
docker --version
Түсіндірме:
apt install -y docker.io
— Docker орнату.systemctl enable docker
— Docker-ды жүйе жүктелгенде автоматты түрде іске қосу үшін қосу.systemctl start docker
— Docker қызметін іске қосу.docker --version
— Docker орнатылған нұсқасын тексеру.
3-қадам: kubeadm, kubelet және kubectl орнату
Kubernetes репозиторийін қосыңыз және қажетті компоненттерді орнатыңыз:
sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF'
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Түсіндірме:
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
— Kubernetes пакеттерін тексеру үшін GPG кілтін қосу.echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
— Kubernetes репозиторийін қосу.apt update
— жаңа репозиторий қосылғаннан кейін пакеттер тізімін жаңарту.apt install -y kubelet kubeadm kubectl
— Kubernetes негізгі компоненттерін орнату.apt-mark hold kubelet kubeadm kubectl
— Kubernetes компоненттерінің автоматты жаңартылуын болдырмау.
4-қадам: Хостты баптау
Барлық түйіндерде swap-ты өшіріңіз, себебі Kubernetes swap қосулы болғанда жұмыс істемейді:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
Түсіндірме:
swapoff -a
— барлық swap-бөлімдерді өшіру.sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
— жүйені қайта іске қосқанда swap қосылмауы үшін/etc/fstab
файлының swap жолдарын түсініктеме беру.
5-қадам: Мастер-түйінді инициализациялау
Мастер-түйінде инициализация командасын орындаңыз:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
Түсіндірме:
kubeadm init
— жаңа Kubernetes кластерін инициализациялау командасы.--pod-network-cidr=192.168.0.0/16
— подтарға арналған IP-мекенжайлар диапазонын көрсету.
Команданың нәтижесін жазып алыңыз, өйткені ол воркер-түйіндерді кластерге қосу үшін команданы қамтиды.
Кластерді басқару үшін kubectl-ды баптаңыз:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Түсіндірме:
mkdir -p $HOME/.kube
— kubectl конфигурациялық файлдарына арналған директория жасау.cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
— Kubernetes конфигурациялық файлын kubectl үшін көшіру.chown $(id -u):$(id -g) $HOME/.kube/config
— конфигурациялық файлдың иесін ағымдағы пайдаланушыға өзгерту.
6-қадам: Желі плагинін орнату
Подтар арасындағы байланысты қамтамасыз ету үшін желі плагинін орнатыңыз. Бұл мысалда Calico пайдаланылады:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Түсіндірме:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
— Calico желі плагинін баптау үшін манифестті жүктеу және қолдану.
7-қадам: Воркер-түйіндерді қосу
Әрбір воркер-түйінде мастер-түйінді инициализациялау кезеңінде алынған команданы орындаңыз. Команданың үлгісі:
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Түсіндірме:
kubeadm join
— воркер-түйінді бар Kubernetes кластеріне қосу командасы.<master-ip>
— мастер-түйіннің IP-мекенжайы.<token>
және<hash>
— мастер-түйінді инициализациялау кезінде алынған мәндер.
8-қадам: Кластердің күйін тексеру
Кластердегі түйіндер мен подтардың күйін тексеріңіз:
kubectl get nodes
kubectl get pods --all-namespaces
Түсіндірме:
kubectl get nodes
— кластердегі барлық түйіндердің тізімін көрсету.kubectl get pods --all-namespaces
— барлық подтарды барлық namespaces-те көрсету.
Ең үздік тәжірибелер
Кластер қауіпсіздігін қамтамасыз ету
- Ресурстарға қолжетімділікті басқару үшін RBAC (Role-Based Access Control) қолданыңыз.
- Кластер ішіндегі барлық қосылымдар үшін TLS қосыңыз.
- Белгілі осалдықтардан қорғау үшін Kubernetes және Docker компоненттерін үнемі жаңартыңыз.
- Кластер аралық шифрлауды қолдайтын желілерді пайдаланыңыз, мысалы, IPsec қолдайтын Calico.
Ресурстарды басқару
- Кластер ресурстарының таусылып қалуын болдырмау үшін подтарға арналған ресурс шектеулері мен сұрауларын баптаңыз.
- Қосымшалар немесе командалар ресурстарын оқшаулау үшін Namespaces қолданыңыз.
Мониторинг және журнал жүргізу
- Кластер күйін бақылау үшін Prometheus және Grafana пайдаланып мониторинг жүйесін баптаңыз.
- Орталықтандырылған журнал жүргізу үшін ELK Stack (Elasticsearch, Logstash, Kibana) немесе Fluentd қолданыңыз.
Қорытынды
Енді сізде Ubuntu 22.04 жүйесінде орнатылған және бапталған Kubernetes кластері бар. Сіз контейнерлік қосымшаларды орналастырып, оларды Kubernetes арқылы басқара аласыз. Қосымша зерттеу үшін Kubernetes ресми құжаттамасымен танысу және Deployment, Service, ConfigMap, Secret сияқты негізгі тұжырымдамаларды зерттеу ұсынылады.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау