This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
система_kubernetes [2026/06/12 12:18] val [Gateway API] |
система_kubernetes [2026/06/20 09:15] (current) val [Deployment] |
||
|---|---|---|---|
| Line 604: | Line 604: | ||
| root@cf764ca3b291:/kubespray# ansible all -m ping -i /inventory/inventory.ini | root@cf764ca3b291:/kubespray# ansible all -m ping -i /inventory/inventory.ini | ||
| </code> | </code> | ||
| - | * [[Сервис Ansible#Использование ролей]] Ansible для настройки сети | + | * [[Сервис Ansible#Использование ролей]] Ansible для настройки сети (!!! dhcp клиент может успеть затереть /etc/resolv.conf, поможет запуск роли повторно) |
| * Может потребоваться | * Может потребоваться | ||
| Line 639: | Line 639: | ||
| ... ansible-playbook -i /inventory/inventory.ini remove-node.yml ... | ... ansible-playbook -i /inventory/inventory.ini remove-node.yml ... | ||
| - | + | kube2:~# kubectl -n kube-public edit configmaps | |
| - | kube2:~# kubectl get configmap -n kube-system -o yaml | grep X.221 | + | kube2:~# kubectl -n kube-system edit configmaps |
| - | kube2:~# kubectl edit configmap cluster-info -n kube-public | + | /kube1 |
| - | kube2:~# kubectl edit configmap kubeadm-config -n kube-system | + | /221 |
| </code> | </code> | ||
| Line 884: | Line 884: | ||
| # env: | # env: | ||
| # - name: PYWEBD_DOC_ROOT | # - name: PYWEBD_DOC_ROOT | ||
| - | # value: "/usr/local/apache2/htdocs/" | + | # value: "/home/myuser/www/" |
| # - name: PYWEBD_PORT | # - name: PYWEBD_PORT | ||
| # value: "4080" | # value: "4080" | ||
| Line 2768: | Line 2768: | ||
| apiGroup: rbac.authorization.k8s.io | apiGroup: rbac.authorization.k8s.io | ||
| </code><code> | </code><code> | ||
| + | kube1:~/users# kubectl apply -f freeipa-kube-admin.yaml | ||
| + | |||
| student@client1:~$ kubectl get nodes | student@client1:~$ kubectl get nodes | ||
| </code> | </code> | ||
| Line 3128: | Line 3130: | ||
| * [[https://sysdig.com/blog/monitor-etcd/|How to monitor etcd]] | * [[https://sysdig.com/blog/monitor-etcd/|How to monitor etcd]] | ||
| + | === Анализ состояния etcd === | ||
| <code> | <code> | ||
| kubeN:~# less /etc/etcd.env | kubeN:~# less /etc/etcd.env | ||
| Line 3151: | Line 3153: | ||
| kube1# ETCDCTL_ENDPOINTS=https://192.168.X.221:2379,https://192.168.X.222:2379,https://192.168.X.223:2379 etcdctl endpoint status -w table | kube1# ETCDCTL_ENDPOINTS=https://192.168.X.221:2379,https://192.168.X.222:2379,https://192.168.X.223:2379 etcdctl endpoint status -w table | ||
| + | </code> | ||
| + | === Резервное копирование и восстановление etcd === | ||
| + | <code> | ||
| kube1# etcdctl snapshot save /root/etcd-backup.db | kube1# etcdctl snapshot save /root/etcd-backup.db | ||
| + | |||
| + | kube1# kubectl get pods | ||
| + | kube1# kubectl delete -f my-debian-deployment.yaml | ||
| + | |||
| + | ssh kubeN mv /etc/kubernetes/manifests/kube-apiserver.yaml . | ||
| + | ssh kubeN crictl ps|grep api | ||
| + | |||
| + | ssh kubeN service etcd stop & | ||
| + | |||
| + | ssh kubeN rm -rf /var/lib/etcd | ||
| + | |||
| + | server# scp kube1:etcd-backup.db kube2: | ||
| + | server# scp kube1:etcd-backup.db kube3: | ||
| + | |||
| + | kubeN# | ||
| + | |||
| + | source /etc/etcd.env | ||
| + | etcdutl snapshot restore /root/etcd-backup.db \ | ||
| + | --data-dir "${ETCD_DATA_DIR}" \ | ||
| + | --name "${ETCD_NAME}" \ | ||
| + | --initial-cluster "${ETCD_INITIAL_CLUSTER}" \ | ||
| + | --initial-cluster-token "${ETCD_INITIAL_CLUSTER_TOKEN}" \ | ||
| + | --initial-advertise-peer-urls "${ETCD_INITIAL_ADVERTISE_PEER_URLS}" | ||
| + | init 6 | ||
| + | |||
| + | ssh kubeN mv kube-apiserver.yaml /etc/kubernetes/manifests/ | ||
| + | |||
| + | kube1# kubectl get pods | ||
| </code> | </code> | ||
| ===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||