Встановлення та налаштування kubectl у Windows
Перш ніж ви розпочнете
Вам потрібно використовувати версію kubectl, яка має мінорну версію що відрізняється не більше ніж на одиницю від мінорної версії вашого кластера. Наприклад, клієнт v1.31 може співпрацювати з панелями управління v1.30, v1.31 та v1.32. Використання останньої сумісної версії kubectl допомагає уникнути непередбачуваних проблем.
Встановлення kubectl у Windows
Існують наступні методи встановлення kubectl у Windows:
- Встановлення бінарника kubectl у Windows (за допомогою прямого завантаження або за допомогою curl)
- Встановлення за допомогою Chocolatey, Scoop або winget у Windows
Встановлення бінарника kubectl у Windows (за допомогою прямого завантаження або за допомогою curl)
У вас є два варіанти встановлення kubectl на вашому пристрої з Windows
Безпосереднє завантаження:
Завантажте останню версію 1.31 патчу безпосередньо для вашої архітектури, відвідавши сторінку випуску Kubernetes. Переконайтеся, що вибрано правильний двійковий файл для вашої архітектури (наприклад, amd64, arm64 тощо).
Використовуючи curl
Або, якщо у вас встановлено
curl
, використовуйте цю команду:curl.exe -LO "https://dl.k8s.io/release/v1.31.0/bin/windows/amd64/kubectl.exe"
Примітка:
Щоб дізнатися останню стабільну версію (наприклад, для скриптів), перегляньте https://dl.k8s.io/release/stable.txt.Перевірте бінарний файл (опціонально)
Завантажте файл контрольної суми для
kubectl
:curl.exe -LO "https://dl.k8s.io/v1.31.0/bin/windows/amd64/kubectl.exe.sha256"
Перевірте бінарний файл
kubectl
за допомогою файлу контрольної суми:Використовуючи командний рядок для ручного порівняння виводу
CertUtil
з завантаженим файлом контрольної суми:CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256
Використовуючи PowerShell для автоматизації перевірки за допомогою оператора
-eq
для отримання результатуTrue
абоFalse
:Compare-String -eq (Get-FileHash kubectl.exe -Algorithm SHA256).Hash (Get-Content kubectl.exe.sha256)
Додайте на початок чи в кінець змінної середовища
PATH
шлях до теки зkubectl
.Перевірте, що версія
kubectl
збігається з завантаженою:kubectl version --client
Або використайте це для детального перегляду версії:
kubectl version --client --output=yaml
Примітка:
Docker Desktop for Windows додає свою власну версіюkubectl
до PATH
. Якщо ви вже встановили Docker Desktop раніше, можливо, вам потрібно розмістити свій шлях в PATH
перед тим, який додається інсталятором Docker Desktop, або видалити kubectl
Docker Desktop.Встановлення на Windows за допомогою Chocolatey, Scoop або winget
Для встановлення kubectl у Windows ви можете використовувати пакетний менеджер Chocolatey, командний інсталятор Scoop, або менеджер пакунків winget.
choco install kubernetes-cli
scoop install kubectl
winget install -e --id Kubernetes.kubectl
Перевірте, що встановлена версія оновлена:
kubectl version --client
Перейдіть до вашого домашнього каталогу:
# Якщо ви використовуєте cmd.exe, виконайте: cd %USERPROFILE% cd ~
Створіть каталог
.kube
:mkdir .kube
Перейдіть до каталогу
.kube
, що ви щойно створили:cd .kube
Налаштуйте kubectl для використання віддаленого кластера Kubernetes:
New-Item config -type file
Примітка:
Редагуйте файл конфігурації за допомогою текстового редактора на ваш вибір, наприклад, Notepad.Перевірка конфігурації kubectl
Щоб kubectl знайшов та отримав доступ до кластера Kubernetes, вам потрібен
файл kubeconfig, який створюється автоматично при створенні кластера за допомогою kube-up.sh або успішного розгортання кластера Minikube. Типово конфігурація kubectl знаходиться в ~/.kube/config
.
Перевірте, що kubectl належним чином налаштований, отримавши стан кластера:
kubectl cluster-info
Якщо ви бачите у відповідь URL, kubectl налаштований на доступ до вашого кластера.
Якщо ви бачите повідомлення, подібне до наведеного нижче, kubectl не налаштований належним чином або не може приєднатися до кластера Kubernetes.
The connection to the server <server-name:port> was refused - did you specify the right host or port?
Наприклад, якщо ви плануєте запустити кластер Kubernetes на своєму ноутбуці (локально), вам спочатку потрібно встановити інструмент, такий як Minikube, а потім повторно виконати вказані вище команди.
Якщо kubectl cluster-info
повертає у відповідь URL, але ви не можете отримати доступ до свого кластера, щоб перевірити, чи він налаштований належним чином, використовуйте:
kubectl cluster-info dump
Усунення несправностей повідомлення про помилку 'No Auth Provider Found'
У Kubernetes 1.26, kubectl видалив вбудовану автентифікацію для Kubernetes-кластерів керованих хмарними провайдерами. Ці провайдери випустили втулок для kubectl для надання хмарно-специфічної автентифікації. Для інструкцій див. документацію відповідного провайдера:
- Azure AKS: kubelogin plugin
- Google Kubernetes Engine: gke-gcloud-auth-plugin
(Також можуть бути інші причини для показу цього повідомлення про помилку, не повʼязані з цією зміною.)
Опціональні конфігурації та втулки kubectl
Увімкнення автопідстановки оболонки
kubectl надає підтримку автодоповнення для оболонок Bash, Zsh, Fish та PowerShell, що може значно зекономити ваш час при введенні команд.
Нижче подані процедури для налаштування автодоповнення для PowerShell.
Скрипт автодоповнення для kubectl в PowerShell можна згенерувати командою kubectl completion powershell
.
Для того, щоб це працювало у всіх сесіях вашої оболонки, додайте наступний рядок до вашого файлу $PROFILE
:
kubectl completion powershell | Out-String | Invoke-Expression
Ця команда буде генерувати скрипт автодоповнення при кожному запуску PowerShell. Ви також можете додати згенерований скрипт безпосередньо до вашого файлу $PROFILE
.
Щоб додати згенерований скрипт до вашого файлу $PROFILE
, виконайте наступний рядок у вашому PowerShell:
kubectl completion powershell >> $PROFILE
Після перезавантаження вашої оболонки автодоповнення для kubectl має працювати.
Встановлення втулка kubectl convert
Втулок для командного рядка Kubernetes kubectl
, який дозволяє конвертувати маніфести між різними версіями API. Це може бути особливо корисно для міграції маніфестів до версій API, які все ще є актуальними, на новіші випуски Kubernetes. Для отримання додаткової інформації відвідайте перехід на актуальні API.
Завантажте останній випуск команди:
curl.exe -LO "https://dl.k8s.io/v1.31.0/bin/windows/amd64/kubectl-convert.exe"
Перевірте двійковий файл (опціонально).
Завантажте файл контрольної суми для
kubectl-convert
:curl.exe -LO "https://dl.k8s.io/v1.31.0/bin/windows/amd64/kubectl-convert.exe.sha256"
Перевірте бінарний файл
kubectl-convert
за допомогою файлу контрольної суми:Використовуючи командний рядок для ручного порівняння виводу
CertUtil
з завантаженим файлом контрольної суми:CertUtil -hashfile kubectl-convert.exe SHA256 type kubectl-convert.exe.sha256
Використовуючи PowerShell для автоматизації перевірки за допомогою оператора
-eq
для отримання результатуTrue
абоFalse
:Compare-String -eq (Get-FileHash kubectl-convert.exe -Algorithm SHA256).Hash (Get-Content kubectl-convert.exe.sha256)
Додайте на початок чи в кінець змінної середовища
PATH
шлях до теки зkubectl-convert
.Перевірте, що версія
kubectl-convert
збігається з завантаженою:kubectl-convert version
Або використайте це для детального перегляду версії:
kubectl-convert version --output=yaml
Після встановлення втулка, вилучіть інсталяційні файли:
Remove-Item kubectl-convert.exe Remove-Item kubectl-convert.exe.sha256
Що далі
- Встановіть Minikube
- Дивіться посібники для початку роботи для отримання докладнішої інформації про створення кластерів.
- Дізнайтеся, як запускати та розгортати свій застосунок.
- Якщо вам потрібен доступ до кластера, який ви не створювали, перегляньте документ Спільний доступ до кластера.
- Прочитайте документацію посилання на kubectl