1. 程式人生 > >0-1安裝和配置kubectl

0-1安裝和配置kubectl

powers -i 功能 ces 嘗試 current gpgkey 部署 命令行工具

使用k8s的命令行工具 kubectl 來部署和管理應用。可以用kubectl 來查看集群的資源,創建,刪除,更新組件,查看你的新集群,啟動測試的應用。

開始之前

你必須使用和你的集群的版本接近的kubectl版本。例如:v1.2的客戶端可以在版本是v1.1,v1.2,v1.3的master上面。使用最新的kubectl版本可以幫你避免未預見的問題。

安裝kubectl
以下是安裝kubectl的幾種方法

01.通過原生的包管理工具安裝kubectl

適用: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

02.在ubuntu 上通過 snap工具安裝

如果你是使用ubuntu系統或者其它安裝了snap工具的linux發行版本,kubectl可以作為一個snap應用來安裝

切換到snap的用戶,執行以下的安裝命令
sudo snap install kubectl --classic

查看kubectl的版本,確保版本足夠的新
kubectl version

03.在macOS上使用Homebrew安裝

安裝命令
brew install kubernetes-cli

查看kubectl的版本,確保版本足夠的新
kubectl version

04.在macOS上使用Macports安裝

安裝命令
port install kubectl
查看kubectl的版本,確保版本足夠的新
kubectl version

05.在windows上使用 Powershell Gallery 安裝

安裝命令(確保已經定義了DownloadLocation路徑)

Install-Script -Name install-kubectl -Scope CurrentUser -Force

install-kubectl.ps1 [-DownloadLocation <path>]

註意:如果你沒有定義下載路徑,kubectl會安裝在當前用戶的臨時目錄下面

需要創建一個目錄 $HOME/.kube 和 創建一個配置文件

查看kubectl的版本,確保版本足夠的新
kubectl version

如果需要更新命令,需要重新執行第一步的兩條命令。

06.在windows 上使用Chocolatey 安裝

安裝命令

choco install kubernetes-cli

查看kubectl的版本,確保版本足夠的新

kubectl version

進行當前用戶目錄%HOME% directory:

例如: cd C:\users\yourusername

創建.kube目錄

mkdir .kube

進入創建的目錄

cd .kube

配置kubectl的配置文件

07.作為google cloud SDK一部分來下載

下載google cloud SDK

https://cloud.google.com/sdk/

安裝
gcloud components install kubectl

查看kubectl的版本,確保版本足夠的新

kubectl version

  1. 使用curl 來下載安裝

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

如果要下載指定的版本,只需要把下面的內容替換為對應的版本號
$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)

例如如果你要下載v1.12.0版本
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/linux/amd64/kubectl

增加執行權限
chmod +x ./kubectl

移動到當前的PATH命令路徑
sudo mv ./kubectl /usr/local/bin/kubectl

配置kubectl

為了讓kubectl能夠找到和訪問k8s 集群,它需要一個集群。它是使用kube.sh創建集群的時候自動創建或者成功部署minikube集群後也會自動創建。

查看安裝頁面,可以看到更多的安裝配置
https://kubernetes.io/docs/setup/

如果你想訪問的集群沒有創建kubectl配置文件,你可以參考下面鏈接創建
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

kubectl默認的配置路徑
~/.kube/config

檢查kubectl 的配置信息

kubectl cluster-info

如果響應了一個URL地址,證明kubectl配置正確,可以訪問到集群。

如果響應了以下的信息,證明配置有誤。

The connection to the server <server-name:port> was refused - did you specify the right host or port?

如果你想要在自己的筆記本上面安裝k8s集群,你需要安裝一個minikube工具,然後再根據上面的教程安裝kubectl.

如果響應了URL的地址,但是你仍然無法訪問k8s集群,你可以嘗試使用下面的命令來查看更加詳細的信息

kubectl cluster-info dump

啟用shell 命令自動補全

kubectl 提供了命令自動補全功能,這可以節省不少輸入。

kubectl自動生成自動補全腳本,你只需要從配置文件中啟用即可。

通用的配置樣本會在下面提供,如果需要更加詳細的信息,可以通過命令

kubectl completion -h 查看。

在linux 使用 bash

默認在centos,需要先安裝

yum install bash-completion -y

添加補全腳本到當前的shell
source <(kubectl completion bash)

配置到配置文件,永久生效

echo "source <(kubectl completion bash)" >> ~/.bashrc

0-1安裝和配置kubectl