Promocja: pl – 5 PLN/rok | eu – 5 PLN/rok | com – 40 PLN/rok
Sztuczna Inteligencja w wyszukiwarce domen Aktywuj
Certyfikat SSL z szyfrowaniem ECDSA -60% Zamów

Przenoszenie Podów między Namespace’em w Kubernetes

  • Pomoc
  • Kubernetes
  • Przenoszenie Podów między Namespace’em w Kubernetes

Aby przenieść Pod z jednego Namespace’a do drugiego, w pierwszej kolejności musisz pobrać konfigurację wybranego Poda ze starego Namespace’a, a następnie użyć jej do utworzenia nowego Poda w innym Namespace’ie. Możesz w tym celu wykorzystać narzędzie kubectl z poleceniem edit.

 

  1. Pobieranie konfiguracji Poda
  2. Użyj polecenia kubectl get pod nazwa_poda -n stary_namespace -o yaml > pod.yaml, aby pobrać konfigurację Poda z bieżącego Namespace (stary_namespace) i zapisz ją do pliku YAML (pod.yaml). Upewnij się, że zastępujesz nazwa_poda nazwą Twojego Poda. W poniższym przykładzie Pod ma nazwę ‘my pod’, a Namespace, z którego jest on przenoszony, ma nazwę ‘moj-namespace’:

    root@lktestmk8s:~# kubectl get pod my-pod -n moj-namespace -o yaml > pod.yaml
  3. Zmiany w pliku konfiguracyjnym Poda
  4. Przed zaimportowaniem pliku konfiguracyjnego Poda do nowego Namespace’a, otwórz go i zmień nazwę Namespace na nowy, do którego chcesz przenieść Pod.

  5. Utworzenie Poda w nowym Namespace
  6. Po wykonaniu zmian w pliku konfiguracyjnym Poda, za pomocą komendy kubectl apply -f [nazwa-pliku yaml] -n [nazwa nowego Namespace] zastosuj zmiany i utwórz nowy Pod w nowym Namespace. Upewnij się, że podałeś odpowiednią nazwę pliku YAML i Namespace. W naszym przykładzie, gdzie nazwa nowego Namespace’a to nowy-namespace, a nazwa pliku to pod.yaml.

    kubectl apply -f pod-konfiguracja.yaml -n nowy-namespace

 

Możesz teraz zweryfikować, czy my-pod został poprawnie założony w Namespace „nowy-namespace”:

kubectl get pods -A

W ten sposób przenosimy jedynie konfigurację Poda do nowego Namespace’a, a nie jego stan działania. Jeśli Pod był już uruchomiony, należy również upewnić się, że żadne inne zasoby nie są uzależnione od tego Poda w poprzednim Namespace’ie oraz że zasoby te zostały odpowiednio przekonfigurowane lub przeniesione. Po dokonaniu weryfikacji, jeżeli stary Pod i stary Namespace nie są już potrzebne, możesz je usunąć.

W pierwszej kolejności przejdź do starego Namespace’a:

kubectl config set-context --current –namespace=moj-namespace

Następnie usuń niepotrzebny Pod ze starego Namespace’a:

kubectl delete pods my-pod

Jako ostatnią czynność możesz usunąć niepotrzebny Namespace:

kubectl delete namespace moj-namespace
Table of Contents