Знакомство с Kubernetes. Часть 15: Установка и настройка kubectl
Sep 6, 2018 07:04 · 386 words · 2 minute read
Kubectl
- консольная утилита, без которой даже нельзя представить работу с кластером Kubernetes
. В предыдущих статьях цикла мы неоднократно использовали данную утилиту для создания и управления объектами в кластере, получения информации и обновления интересующих нас ресурсов. Давайте разберемся с установкой и настройкой kubectl
!
Существует множество способов установки консольной утилиты (в том числе и в зависимости от используемой операционной системы). Например, для “классической” установки kubectl
в Ubuntu или Debian, следует воспользоваться следующими командами:
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo touch /etc/apt/sources.list.d/kubernetes.list
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
Для Ubuntu также существует вариант установки утилиты с помощью пакетного менеджера snap
:
sudo snap install kubectl --classic
В операционных системах CentOS, RHEL или Fedora установка будет выглядеть так:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
Для MacOS можно воспользоваться любым из следующих способов установки утилиты kubectl
:
brew install kubernetes-cli
или
port install kubectl
Даже пользователи ОС Windows могут себе позволить установку kubectl
:
choco install kubernetes-cli
Помимо приведенных выше команд, установить kubectl
можно и как часть Google Cloud SDK:
gcloud components install kubectl
И воспользоваться для установки утилитой curl
:
- MacOS:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
- Linux:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
- Windows:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.0/bin/windows/amd64/kubectl.exe
Для доступа к кластеру Kubernetes
утилите kubectl
необходим конфигурационный файл (по умолчанию расположен в ~/.kube/config
), который создается автоматически. Подробнее о настройке доступа можно узнать здесь.
В kubectl
есть отличное встроенное автодополнение для оболочек bash и zsh. Настроить его несложно - для начала нужно установить пакет bash-completion
:
- Linux:
yum install bash-completion -y
- MacOS:
## If running Bash 3.2 included with macOS
brew install bash-completion
## or, if running Bash 4.1+
brew install bash-completion@2
И добавляем автодополнение в оболочку:
- Linux:
echo "source <(kubectl completion bash)" >> ~/.bashrc
- MacOS:
kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl
Если вы в качестве оболочки используете zsh, то необходимо отредактировать файл ~/.zshrc
, добавив в него следующие строки:
if [ $commands[kubectl] ]; then
source <(kubectl completion zsh)
fi
В случае использования Oh-My-Zsh, то в файле ~/.zshrc
нужно отредактировать строку с плагинами, например:
...
plugins=(kubectl)
...
Больше полезной информации об утилите kubectl
и примеров можно найти по ссылке.