This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
система_kubernetes [2024/04/06 11:26] val [Развертывание через kubeadm] |
система_kubernetes [2024/06/01 11:09] val [Service] |
||
---|---|---|---|
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 469: | Line 496: | ||
$ 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 625: | ||
$ 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 702: | ||
$ 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 751: | ||
$ ### 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 862: | ||
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 1050: | ||
storage: 128Mi | storage: 128Mi | ||
# storage: 8Gi | # storage: 8Gi | ||
- | # volumeMode: Filesystem | ||
accessModes: | accessModes: | ||
- ReadWriteMany | - ReadWriteMany | ||
Line 1089: | Line 1145: | ||
<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 1193: | ||
* Делаем снапшот | * Делаем снапшот | ||
- | * Что-то ломаем | + | * Что-то ломаем (удаляем пользователя) |
* Останавливаем сервис | * Останавливаем сервис | ||
Line 1154: | Line 1212: | ||
== Использование 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 не нужен) |