User Tools

Site Tools


система_kubernetes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
система_kubernetes [2024/04/06 11:26]
val [Развертывание через kubeadm]
система_kubernetes [2024/06/02 09:37] (current)
val [Развертывание через Kubespray]
Line 171: Line 171:
  
 === Установка ПО === === Установка ПО ===
 +=== !!! Обратитесь к преподавателю !!! ===
 <​code>​ <​code>​
 node1# bash -c ' node1# bash -c '
Line 264: Line 265:
 $ kubectl cordon kube3 $ kubectl cordon kube3
  
-$ time kubectl drain kube3 --force ​--ignore-daemonsets --delete-emptydir-data+$ time kubectl drain kube3 #--ignore-daemonsets --delete-emptydir-data ​--force
  
 $ kubectl delete node kube3 $ kubectl delete node kube3
Line 332: Line 333:
  
 ==== Развертывание через Kubespray ==== ==== Развертывание через Kubespray ====
 +
 +=== !!! Обратитесь к преподавателю !!! ===
  
   * [[https://​github.com/​kubernetes-sigs/​kubespray]]   * [[https://​github.com/​kubernetes-sigs/​kubespray]]
Line 347: Line 350:
 kube1# ssh-copy-id kube1;​ssh-copy-id kube2;​ssh-copy-id kube3;​ssh-copy-id kube4; kube1# ssh-copy-id kube1;​ssh-copy-id kube2;​ssh-copy-id kube3;​ssh-copy-id kube4;
  
-kube1# apt update+kube1#apt update
  
-kube1# apt install python3-pip -y+kube1#apt install python3-pip -y
  
 kube1# git clone https://​github.com/​kubernetes-sigs/​kubespray kube1# git clone https://​github.com/​kubernetes-sigs/​kubespray
Line 359: Line 362:
  
 ~/​kubespray#​ git branch -r ~/​kubespray#​ git branch -r
-~/kubespray# ### git checkout origin/​release-2.22+~/​kubespray#​ git checkout origin/​release-2.22
  
 ~/​kubespray#​ git tag -l ~/​kubespray#​ git tag -l
 ~/​kubespray#​ ### git checkout tags/​v2.22.1 ~/​kubespray#​ ### git checkout tags/​v2.22.1
  
-~/​kubespray#​ git checkout 4c37399c7582ea2bfb5202c3dde3223f9c43bf59+~/kubespray# ### git checkout 4c37399c7582ea2bfb5202c3dde3223f9c43bf59
  
 ~/​kubespray#​ ### git checkout master ~/​kubespray#​ ### git checkout master
Line 383: Line 386:
  
 ~/​kubespray#​ less inventory/​mycluster/​hosts.yaml ~/​kubespray#​ less inventory/​mycluster/​hosts.yaml
 +</​code>​
 +  * [[Сервис Ansible#​Использование модулей]] Ansible для отключения swap
 +  * Настройка registry-mirrors для установки и работы кластера
 +<​code>​
 +~/​kubespray#​ cat inventory/​mycluster/​group_vars/​all/​docker.yml
 +</​code><​code>​
 +...
 +docker_registry_mirrors:​
 +  - https://​mirror.gcr.io
 +...
 +</​code><​code>​
 +~/​kubespray#​ cat inventory/​mycluster/​group_vars/​all/​containerd.yml
 +</​code><​code>​
 +...
 +containerd_registries_mirrors:​
 +  - prefix: docker.io
 +    mirrors:
 +    - host: https://​mirror.gcr.io
 +      capabilities:​ ["​pull",​ "​resolve"​]
 +      skip_verify:​ false
 +...
 +</​code>​
  
 +  * Развертывание кластера
 +<​code>​
 ~/​kubespray#​ time ansible-playbook -i inventory/​mycluster/​hosts.yaml cluster.yml ~/​kubespray#​ time ansible-playbook -i inventory/​mycluster/​hosts.yaml cluster.yml
 real    45m31.796s real    45m31.796s
Line 394: Line 421:
  
 === Добавление узла через Kubespray === === Добавление узла через Kubespray ===
 +
 +  * [[https://​nixhub.ru/​posts/​k8s-nodes-scale/​|K8s - добавление нод через kubespray]]
 +
 <​code>​ <​code>​
 ~/​kubespray#​ cat inventory/​mycluster/​hosts.yaml ~/​kubespray#​ cat inventory/​mycluster/​hosts.yaml
Line 469: Line 499:
  
 $ kubectl delete pod my-debian $ kubectl delete pod my-debian
 +$ ###kubectl delete pod my-debian --grace-period=0 --force
  
 $ kubectl create deployment my-debian --image=debian -- "​sleep"​ "​3600"​ $ kubectl create deployment my-debian --image=debian -- "​sleep"​ "​3600"​
Line 597: Line 628:
  
 $ kubectl delete pod/​my-webd-NNNNNNNNNN-NNNNN -n my-ns $ kubectl delete pod/​my-webd-NNNNNNNNNN-NNNNN -n my-ns
 +</​code>​
 +
 +  * [[https://​learnk8s.io/​kubernetes-rollbacks|How do you rollback deployments in Kubernetes?​]]
 +
 +<​code>​
 +gitlab-runner@server:​~$ kubectl -n my-ns rollout history deployment/​my-webd
 +deployment.apps/​my-webd
 +REVISION ​ CHANGE-CAUSE
 +1         <​none>​
 +...
 +N         <​none>​
 +
 +gitlab-runner@server:​~$ kubectl -n my-ns rollout history deployment/​my-webd --revision=1
 +...
 +    Image: ​     server.corpX.un:​5000/​student/​webd:​ver1.1
 +...
 +
 +kubectl -n my-ns rollout undo deployment/​my-webd --to-revision=1
 +
 +gitlab-runner@server:​~$ kubectl -n my-ns rollout undo deployment/​my-webd --to-revision=1
 +
 +gitlab-runner@server:​~$ kubectl -n my-ns rollout history deployment/​my-webd
 +deployment.apps/​my-webd
 +REVISION ​ CHANGE-CAUSE
 +2         <​none>​
 +...
 +N+1         <​none>​
 </​code>​ </​code>​
  
Line 647: Line 705:
 $ minikube service list $ minikube service list
  
-$ minikube service my-webd -n my-ns --url+$ minikube service my-webd ​--url -n my-ns
 http://​192.168.49.2:​NNNNN http://​192.168.49.2:​NNNNN
  
-$ curl $(minikube service my-webd -n my-ns --url)+$ curl http://​192.168.49.2:​NNNNN
 </​code>​ </​code>​
  
Line 696: Line 754:
 $ ### kubectl delete -f first-pool.yaml && rm first-pool.yaml $ ### kubectl delete -f first-pool.yaml && rm first-pool.yaml
  
-$ ### kubectl ​apply -f https://​raw.githubusercontent.com/​metallb/​metallb/​v0.14.3/​config/​manifests/​metallb-native.yaml+$ ### kubectl ​delete ​-f https://​raw.githubusercontent.com/​metallb/​metallb/​v0.14.3/​config/​manifests/​metallb-native.yaml
 </​code>​ </​code>​
  
Line 807: Line 865:
 node1# kubectl get all -n ingress-nginx node1# kubectl get all -n ingress-nginx
  
-node1# ### kubectl delete -f ingress-nginx.controller-v1.3.1.baremetal.yaml+node1# ###kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission 
 + 
 +node1# ###kubectl delete -f ingress-nginx.controller-v1.3.1.baremetal.yaml
 </​code>​ </​code>​
  
Line 993: Line 1053:
     storage: 128Mi     storage: 128Mi
 #    storage: 8Gi #    storage: 8Gi
-#  volumeMode: Filesystem 
   accessModes:​   accessModes:​
     - ReadWriteMany     - ReadWriteMany
Line 1089: Line 1148:
 <​code>​ <​code>​
 $ kubectl apply -f https://​raw.githubusercontent.com/​longhorn/​longhorn/​v1.6.0/​deploy/​longhorn.yaml $ kubectl apply -f https://​raw.githubusercontent.com/​longhorn/​longhorn/​v1.6.0/​deploy/​longhorn.yaml
 +
 +$ kubectl -n longhorn-system get pods -o wide --watch
  
 Setting->​General Setting->​General
Line 1135: Line 1196:
  
   * Делаем снапшот   * Делаем снапшот
-  * Что-то ломаем+  * Что-то ломаем ​(удаляем пользователя)
   * Останавливаем сервис   * Останавливаем сервис
  
Line 1154: Line 1215:
  
 == Использование backup-ов == == Использование backup-ов ==
 +
 +  * Разворачиваем [[Сервис NFS]] на server ​
 +
 <​code>​ <​code>​
 Setting -> General -> Backup Target -> nfs://​server.corp13.un:/​var/​www (nfs client linux не нужен) Setting -> General -> Backup Target -> nfs://​server.corp13.un:/​var/​www (nfs client linux не нужен)
система_kubernetes.1712391999.txt.gz · Last modified: 2024/04/06 11:26 by val