Edycja Poda¶
Pamiętaj, że NIE MOŻESZ edytować specyfikacji istniejącego Poda, poza poniższymi polami:
spec.containers[*].imagespec.initContainers[*].imagespec.activeDeadlineSecondsspec.tolerations
Na przykład, nie możesz edytować zmiennych środowiskowych, konta serwisowego, limitów zasobów (o tym porozmawiamy później) w działającym Podzie.
Jeśli naprawdę chcesz to zmienić, masz dwie opcje:
1. Użycie kubectl edit¶
- Uruchom polecenie:
- Otworzy się specyfikacja Poda w edytorze (np.
vi). - Spróbuj edytować wybrane właściwości.
- Przy próbie zapisu, jeśli edytujesz pole, które nie jest możliwe do edycji, zostaniesz zablokowany.
kubectl edit pod mypod
error: pods "mypod" is invalid
A copy of your changes has been stored to "/tmp/kubectl-edit-abcd.yaml"
error: Edit cancelled, no valid changes were saved.
- Wyświetlona zostania informacja, gdzie została zapisana kopia zmian niewprowadzonych. Będzie też tam błąd. Kopia pliku z Twoimi zmianami zostanie zapisana w tymczasowej lokalizacji, jak pokazano powyżej.
- Następnie usuń istniejącego Poda:
- Utwórz nowego Poda z wprowadzonymi zmianami, korzystając z tymczasowego pliku:
2. Eksport definicji Poda do pliku YAML¶
- Wyeksportuj definicję Poda do pliku:
- Edytuj plik w edytorze (
vilub innym):
- Zapisz zmiany.
- Usuń istniejącego Poda:
- Utwórz nowego Poda na podstawie zmodyfikowanego pliku:
Edycja Deploymentu¶
W przypadku Deploymentu jest to łatwe - po zmianach wprowadzonych do Poda w Deploymencie zostanie on automatycznie usunięty i dodany ponownie.