Несколько методов подключения по SSH к поду Kubernetes (k8s) с примерами кода

Чтобы подключиться по 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!»внутри указанного модуля () в указанном пространстве имен ().