Вам потрібно використовувати версію kubectl, яка має мінорну версію, що відрізняється не більше ніж на одиницю від мінорної версії вашого кластера. Наприклад, клієнт v1.37 може співпрацювати з панелями управління v1.36, v1.37 та v1.38. Використання останньої сумісної версії kubectl допомагає уникнути непередбачуваних проблем.
Існують наступні методи встановлення kubectl у Windows:
У вас є два варіанти встановлення kubectl на вашому пристрої з Windows
Безпосереднє завантаження:
Завантажте останню версію 1.37 патчу безпосередньо для вашої архітектури, відвідавши сторінку випуску Kubernetes. Переконайтеся, що вибрано правильний двійковий файл для вашої архітектури (наприклад, amd64, arm64 тощо).
Використовуючи curl:
Якщо у вас встановлено curl, використайте цю команду:
curl.exe -LO "https://dl.k8s.io/release/v1.37.0/bin/windows/amd64/kubectl.exe"
Перевірте бінарний файл (необовʼязково)
Завантажте файл контрольної суми для kubectl:
curl.exe -LO "https://dl.k8s.io/v1.37.0/bin/windows/amd64/kubectl.exe.sha256"
Перевірте бінарний файл kubectl за допомогою файлу контрольної суми:
Використовуючи командний рядок для ручного порівняння виводу CertUtil з завантаженим файлом контрольної суми:
CertUtil -hashfile kubectl.exe SHA256
type kubectl.exe.sha256
Використовуючи PowerShell для автоматизації перевірки за допомогою оператора -eq для отримання результату True або False:
$(Get-FileHash -Algorithm SHA256 .\kubectl.exe).Hash -eq $(Get-Content .\kubectl.exe.sha256)
Додайте на початок чи в кінець змінної середовища PATH шлях до теки з kubectl.
Перевірте, що версія kubectl збігається з завантаженою:
kubectl version --client
Або використайте це для детального перегляду версії:
kubectl version --client --output=yaml
kubectl до PATH. Якщо ви вже встановили Docker Desktop раніше, можливо, вам потрібно розмістити свій шлях в PATH перед тим, який додається інсталятором Docker Desktop, або видалити kubectl Docker Desktop.Для встановлення 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
Щоб 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
У Kubernetes 1.26 з kubectl вилучено вбудовану автентифікацію для керованих сервісів Kubernetes таких хмарних провайдерів. Ці провайдери випустили втулки 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 має працювати.
Дивіться kuberc для отримання докладної інформації.
kubectl convertВтулок для інструмента командного рядка Kubernetes kubectl, який дозволяє конвертувати маніфести між різними версіями API. Це може бути особливо корисно для міграції маніфестів на незастарілу версію API в новіших випусках Kubernetes. Докладніше дивіться в розділі перехід на незастарілі API.
Завантажте останній випуск за допомогою команди:
curl.exe -LO "https://dl.k8s.io/release/v1.37.0/bin/windows/amd64/kubectl-convert.exe"
Перевірте бінарний файл (необовʼязково).
Завантажте файл контрольної суми для kubectl-convert:
curl.exe -LO "https://dl.k8s.io/v1.37.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:
$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
Додайте на початок чи в кінець змінної середовища PATH шлях до теки з kubectl-convert.
Перевірте, що втулок успішно встановлено.
kubectl convert --help
Якщо ви не бачите помилки, це означає, що втулок успішно встановлено.
Після встановлення втулка вилучіть файли встановлення:
del kubectl-convert.exe
del kubectl-convert.exe.sha256