Знакомство с Kubernetes. Часть 15: Установка и настройка kubectl

Sep 6, 2018 07:04 · 386 words · 2 minute read kubernetes

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 и примеров можно найти по ссылке.

tweet Share