Чтобы подключиться по SSH к поду Kubernetes (k8s), вы можете использовать разные методы в зависимости от ваших конкретных требований и инструментов, доступных в вашей среде. Вот несколько методов с примерами кода:
Метод 1: использование команды kubectl
kubectl exec -it <pod-name> -- /bin/bash
Эта команда открывает интерактивный сеанс оболочки (/bin/bash
) внутри указанного модуля (
).
Метод 2: использование команды kubectl с селектором модулей
kubectl exec -it $(kubectl get pods -l <label-selector> -o jsonpath='{.items[0].metadata.name}') -- /bin/bash
Эта команда выбирает модуль на основе селектора меток (
) и открывает интерактивный сеанс оболочки внутри выбранного модуля.
Метод 3: использование команды kubectl с пространством имен
kubectl exec -it -n <namespace> <pod-name> -- /bin/bash
Эта команда открывает интерактивный сеанс оболочки внутри указанного модуля (
) в указанном пространстве имен (
).
Метод 4. Использование Kubernetes API
Вы также можете использовать Kubernetes API для программного выполнения команд внутри модуля. Вот пример использования библиотеки Python kubernetes
:
from kubernetes import client, config
# Load Kubernetes configuration
config.load_kube_config()
# Create Kubernetes API client
api_client = client.ApiClient()
# Execute command inside a pod
v1 = client.CoreV1Api(api_client)
exec_command = [
'/bin/bash',
'-c',
'echo "Hello, Kubernetes!"'
]
resp = v1.connect_get_namespaced_pod_exec(
name='<pod-name>',
namespace='<namespace>',
command=exec_command,
stderr=True,
stdin=False,
stdout=True,
tty=False
)
print(resp)
В этом примере выполняется команда echo «Hello, Kubernetes!»
внутри указанного модуля (
) в указанном пространстве имен (
).