Telegram
+998 (71) 205-80-00

ServerPlus'da Kubernetes: klaster ishga tushirish va kubeconfig

E’lon qilingan: 25.07.26
Ulashish

ServerPlus'da Kubernetes

ServerPlus'dagi Kubernetes — bu OpenStack Magnum asosidagi boshqariladigan xizmat. Siz klaster buyurtma qilasiz (panel yoki API orqali), platforma esa boshqaruv tugunini (control plane) va ishchi tugunlarni loyihangizda virtual mashinalar sifatida o'zi ko'taradi. Sizga faqat kubeconfig — manzil va kirish kalitlari yozilgan fayl — olish va klaster bilan odatdagi kubectl orqali ishlash qoladi.

Klaster yaratish

Klasterni veb-panel orqali (birinchi marta uchun osonroq) yoki API orqali yaratish mumkin:

openstack coe cluster create my-cluster --cluster-template <shablon> --master-count 1 --node-count 2 --keypair <ssh-kalit>

# holat (CREATE_COMPLETE kutamiz)
openstack coe cluster list

Tarmoq haqida muhim eslatma. Klaster tugunlariga internetga chiqish kerak — ular konteyner obrazlari va Kubernetes komponentlarini yuklab oladi. Shuning uchun klaster tarmog'ida tashqi shlyuzli router bo'lishi shart. Izolyatsiyalangan, internetga chiqishsiz tarmoqda klaster yig'ilmaydi. Eng osoni — tarmoq sozlashni paneldagi yaratish ustasiga ishonib topshirish.

kubeconfig olish

kubeconfig — bu klaster API manzili, ildiz sertifikati va sizning mijoz kalitingiz yozilgan fayl. Aynan shu fayl orqali kubectl qayerga va kim sifatida ulanishni biladi.

Panelda: klaster kartochkasida kubeconfig'ni yuklab olish tugmasi bor. CLI orqali:

openstack coe cluster config my-cluster
# ./config faylini yaratadi va export KUBECONFIG=... satrini beradi

kubeconfig = klasterga to'liq kirish. Uni parol kabi saqlang: chmod 600 huquqlari, git'ga joylamang.

kubectl o'rnatish

# Linux
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -m 0755 kubectl /usr/local/bin/kubectl

# macOS
brew install kubectl

kubeconfig'ni ulash

A variant. Sessiya uchun bir marta

export KUBECONFIG=$PWD/config
kubectl get nodes

B variant. Standart konfig qilish

mkdir -p ~/.kube
cp ./config ~/.kube/config
chmod 600 ~/.kube/config

C variant. Bir nechta klaster (merge)

Agar sizda allaqachon ~/.kube/config bo'lsa, uni qayta yozmang, balki birlashtiring:

KUBECONFIG=~/.kube/config:$PWD/config kubectl config view --flatten > /tmp/merged
mv /tmp/merged ~/.kube/config
kubectl config get-contexts
kubectl config use-context <kontekst-nomi>

Birinchi buyruqlar

kubectl cluster-info
kubectl get nodes -o wide     # Ready holatini kutamiz
kubectl get pods -A

Test ilovani ishga tushirish va tashqariga chiqarish:

kubectl create deployment web --image=nginx
kubectl expose deployment web --port=80 --type=LoadBalancer
kubectl get svc web -w        # EXTERNAL-IP kutamiz

LoadBalancer turidagi xizmat Octavia balansirovchisini yaratadi va ilova internetdan ochiladigan tashqi manzil beradi.

Ko'p beriladigan savollar

kubectl ulanmayapti / taymaut. control plane'da tashqi (floating) IP borligini va kubeconfig'dagi manzil ichki 10.x emas, aynan tashqi ekanini tekshiring. Noutbukdan ichki manzil ochilmaydi.

Tugunlar NotReady, klaster uzoq yig'ilmoqda. Deyarli har doim bu klaster tarmog'ida internet yo'qligi — tugunlar obrazlarni yuklay olmaydi. Tashqi shlyuzli routerli tarmoq kerak.

x509 sertifikat xatosi. Odatda eskirgan kubeconfig (klaster qayta yaratilgan). Qaytadan yarating: openstack coe cluster config my-cluster --force.

Tugunlar sonini o'zgartirish: openstack coe cluster resize my-cluster 3. Klasterni o'chirish: openstack coe cluster delete my-cluster.

Xavfsizlik

  • kubeconfig — maxfiy: bitta fayl klasterga admin kirish beradi. chmod 600 huquqlari, git va messenjerlardan tashqarida.
  • Hammaga bitta admin-kubeconfig tarqatmang — cheklangan huquqli alohida ServiceAccount va rollar (RBAC) yarating.
  • Tashqariga faqat kerakli xizmatlarni chiqaring; qolganini klaster ichida saqlang (ClusterIP turi).
Tavsiya etamiz
Loyihangiz uchun eng yaxshi yechimni tanlaymiz
Ma’lumotlarni to‘ldiring va menejer tasdiqlash uchun siz bilan bog‘lanadi
Texnik qo‘llab-quvvatlash raqami
+998 (71) 205-80-00
Bog‘lanish uchun e-mail
info@serverplus.uz
Ish soatlari
Maslahatni qanday olish sizga qulay?
Sizni nima qiziqtiradi? (ixtiyoriy)
Tarqatmalarimizga obuna bo‘ling

Xosting sohasidagi yangiliklardan birinchilardan bo‘lib xabardor bo‘ling