Це багатосторінковий друкований вигляд цього розділу. Натисність щоб друкувати.

Повернутися до звичайного перегляду сторінки.

kubectl expose

    Огляд

    Експонувати ресурс як нову службу Kubernetes.

    Шукає deployment, service, replica set, replica controller або pod за назвою і використовує селектор для цього ресурсу як селектор для нового service на зазначеному порту. Deployment або replica set буде показано як сервіс, лише якщо його селектор буде перетворено на селектор, який підтримується сервісом, тобто коли селектор містить лише компонент matchLabels. Зауважте, що якщо за допомогою --port не вказано жодного порту, а експонований ресурс має декілька портів, усі вони будуть використані новим сервісом повторно. Також, якщо не вказано жодних міток, новий сервіс повторно використає мітки з ресурсу, який він відкриває.

    Можливі ресурси включають (без урахування регістру):

    pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs)

    kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]
    

    Приклади

    # Створити сервіс для реплікованого nginx, який працює на порту 80 та підключається до контейнерів на порту 8000
    kubectl expose rc nginx --port=80 --target-port=8000
    
    # Створити сервіс для контролера реплікації, визначеного типом та іменем у "nginx-controller.yaml", який працює на порту 80 та підключається до контейнерів на порту 8000
    kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000
    
    # Створити сервіс для Pod valid-pod, який працює на порту 444 з іменем "frontend"
    kubectl expose pod valid-pod --port=444 --name=frontend
    
    # Створити другий сервіс на основі вищезгаданого сервісу, відкриваючи контейнерний порт 8443 як порт 443 з іменем "nginx-https"
    kubectl expose service nginx --port=443 --target-port=8443 --name=nginx-https
    
    # Створити сервіс для реплікованого стрімінгового застосунку на порту 4100, балансуючи UDP-трафік, з імʼям 'video-stream'
    kubectl expose rc streamer --port=4100 --protocol=UDP --name=video-stream
    
    # Створити сервіс для реплікованого nginx за допомогою replica set, який працює на порту 80 та підключається до контейнерів на порту 8000
    kubectl expose rs nginx --port=80 --target-port=8000
    
    # Створити сервіс для deployment nginx, який працює на порту 80 та підключається до контейнерів на порту 8000
    kubectl expose deployment nginx --port=80 --target-port=8000
    

    Параметри

    --allow-missing-template-keys     Типово: true

    Якщо true, ігнорувати будь-які помилки в шаблонах, коли в шаблоні відсутнє поле або ключ map. Застосовується лише до форматів виводу golang та jsonpath.

    --cluster-ip string

    ClusterIP, який буде призначено сервісу. Залиште порожнім для автоматичного призначення або встановіть значення "None", щоб створити сервіс headless.

    --dry-run string[="unchanged"]     Типово: "none"

    Має бути "none", "server" або "client". Якщо це стратегія client, вивести лише обʼєкт, який міг би бути надісланим, не надсилаючи його. Якщо це стратегія server, надіслати запит на стороні сервера без збереження ресурсу.

    --external-ip string

    Додаткова зовнішня IP-адреса (не керована Kubernetes), яку буде використано для сервісу. Якщо цю IP-адресу перенаправлено на вузол, до сервісу можна отримати доступ з цієї IP-адреси на додачу до згенерованої IP-адреси сервісу.

    --field-manager string     Типово: "kubectl-expose"

    Імʼя менеджера, що використовується для відстеження права власності на поле.

    -f, --filename strings

    Імʼя файлу, теки або URL до файлів, яки визначають ресурс, для експонування сервісу

    -h, --help

    Довідка expose

    -k, --kustomize string

    Обробити теку kustomization. Цей прапорець не можна використовувати разом з -f або -R.

    -l, --labels string

    Мітки, які будуть застосовані до сервісу, створеного цим викликом.

    --load-balancer-ip string

    IP для призначення LoadBalancer. Якщо поле порожнє, буде створено та використано ефемерний IP (залежить від хмарного провайдера).

    --name string

    Імʼя для новоствореного обʼєкта.

    -o, --output string

    Формат виводу. Один з: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).

    --override-type string     Типово: "merge"

    Метод, який використовується для перевизначення згенерованого обʼєкта: json, merge або strategic.

    --overrides string

    Вбудоване перевизначення JSON для згенерованого обʼєкта. Якщо він не порожній, то використовується для перевизначення згенерованого обʼєкта. Вимагає, щоб обʼєкт надавав дійсне поле apiVersion.

    --port string

    Порт, на якому має працювати сервіс. Копіюється з ресурсу, що експонується, якщо не вказано

    --protocol string

    Мережевий протокол для сервісу, який буде створено. Стандартно — "TCP".

    -R, --recursive

    Рекурсивно обробити теку, вказану у -f, --filename. Корисно, якщо ви хочете керувати повʼязаними маніфестами, організованими в одній теці.

    --save-config

    Якщо значення true, конфігурація поточного обʼєкта буде збережена в його анотації. В іншому випадку, анотацію буде збережено без змін. Цей прапорець корисно встановити, якщо ви хочете застосувати kubectl до цього обʼєкта у майбутньому.

    --selector string

    Селектор міток, який потрібно використовувати для цього сервісу. Підтримуються лише вимоги до селектора на основі рівності. Якщо порожньо (стандартно), виводитиметься селектор з контролера реплікації або replica set.

    --session-affinity

    Якщо не порожньо, встановлює сесійну подібнітсть для сервісу. Допустимі значення: None, ClientIP.

    --show-managed-fields

    Якщо true, зберігати managedFields при виводі обʼєктів у форматі JSON або YAML.

    --target-port string

    Назва або номер порту в контейнері, на який сервіс повинен спрямовувати трафік. Необовʼязково.

    --template string

    Рядок шаблону або шлях до файлу шаблону для використання з -o=go-template, -o=go-template-file. Формат шаблону — golang-шаблони [http://golang.org/pkg/text/template/#pkg-overview].

    --type string

    Тип сервісу: ClusterIP, NodePort, LoadBalancer або ExternalName. Стандартно використовується 'ClusterIP'.

    Параметри батьківських команд

    --as string

    Імʼя користувача, яке використовується для виконання операції. Користувач може бути звичайним користувачем або службовим обліковим записом в просторі імен.

    --as-group strings

    Група, яка використовується для операції; цей прапорець можна повторити для вказівки декількох груп.

    --as-uid string

    UID, який використовується для операції.

    --cache-dir string     Типово: "$HOME/.kube/cache"

    Типове розташування теки кешу

    --certificate-authority string

    Шлях до файлу сертифіката для центра сертифікації

    --client-certificate string

    Шлях до файлу клієнтського сертифіката для TLS

    --client-key string

    Шлях до файлу ключа клієнта для TLS

    --cluster string

    Назва файлу kubeconfig кластера, який слід використовувати

    --context string

    Назва контексту kubeconfig, який слід використовувати

    --default-not-ready-toleration-seconds int     Типово: 300

    Вказує tolerationSeconds для toleration notReady:NoExecute, який типово додається до кожного Pod, який ще не має такої толерантності.

    --default-unreachable-toleration-seconds int     Типово: 300

    Вказує tolerationSeconds для toleration unreachable:NoExecute, який типово додається до кожного Pod, який ще не має такої толерантності.

    --disable-compression

    Якщо true, відмовляється від стиснення відповіді для всіх запитів до сервера

    --insecure-skip-tls-verify

    Якщо true, сертифікат сервера не буде перевірятися на дійсність. Це зробить ваші HTTPS-зʼєднання небезпечними

    --kubeconfig string

    Шлях до файлу kubeconfig, який слід використовувати для CLI-запитів.

    --match-server-version

    Вимагає, щоб версія сервера відповідала версії клієнта

    -n, --namespace string

    Якщо присутній, простір імен для цього CLI-запиту

    --password string

    Пароль для базової автентифікації на API-сервері

    --profile string     Типово: "none"

    Імʼя профілю для захоплення. Одне із (none|cpu|heap|goroutine|threadcreate|block|mutex)

    --profile-output string     Типово: "profile.pprof"

    Імʼя файлу, в який записується профіль

    --request-timeout string     Типово: "0"

    Час очікування перед відмовою у виконанні окремого запиту до сервера. Ненульові значення повинні містити відповідну одиницю часу (наприклад, 1s, 2m, 3h). Значення нуль означає відсутність тайм-ауту запитів.

    -s, --server string

    Адреса та порт сервера API Kubernetes

    --storage-driver-buffer-duration duration     Типово: 1m0s

    Записи в драйвері зберігання будуть буферизовані на цей час і збережені в бекендах без памʼяті як одна транзакція

    --storage-driver-db string     Типово: "cadvisor"

    Назва бази даних

    --storage-driver-host string     Типово: "localhost:8086"

    Хост:порт бази даних

    --storage-driver-password string     Типово: "root"

    Пароль бази даних

    --storage-driver-secure

    використовувати захищене зʼєднання з базою даних

    --storage-driver-table string     Типово: "stats"

    Назва таблиці

    --storage-driver-user string     Типово: "root"

    Імʼя користувача бази даних

    --tls-server-name string

    Імʼя сервера, яке використовується для перевірки дійсності сертифіката сервера. Якщо воно не надане, використовується імʼя хоста, яке використовується для звʼязку з сервером

    --token string

    Токен на предʼявника для автентифікації на API-сервері

    --user string

    Імʼя користувача kubeconfig, яке слід використовувати

    --username string

    Імʼя користувача для базової автентифікації на API-сервері

    --version version[=true]

    --version, --version=raw виводить інформацію про версію та завершує роботу; --version=vX.Y.Z... задає відповідну версію

    --warnings-as-errors

    Трактувати попередження, отримані від сервера, як помилки і виходити з ненульовим кодом виходу

    Дивіться також

    • kubectl — kubectl керує менеджером кластерів Kubernetes