中國電商建站程序seo運營是做什么的
Kubernetes K8s從入門到精通系列之十二:安裝和設置 kubectl
- 一、kubectl
- 二、在 Linux 系統(tǒng)中安裝并設置 kubectl
- 1.準備工作
- 2.用 curl 在 Linux 系統(tǒng)中安裝 kubectl
- 3.用原生包管理工具安裝
- 三、驗證 kubectl 配置
- 四、kubectl 的可選配置和插件
- 1.啟用 shell 自動補全功能
- 2.安裝 kubectl convert 插件
一、kubectl
Kubernetes 命令行工具 kubectl, 讓你可以對 Kubernetes 集群運行命令。 你可以使用 kubectl 來部署應用、監(jiān)測和管理集群資源以及查看日志。
二、在 Linux 系統(tǒng)中安裝并設置 kubectl
1.準備工作
kubectl 版本和集群版本之間的差異必須在一個小版本號內(nèi)。 例如:v1.27 版本的客戶端能與 v1.26、 v1.27 和 v1.28 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可預見的問題。
2.用 curl 在 Linux 系統(tǒng)中安裝 kubectl
用以下命令下載最新發(fā)行版:
x86-64
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
說明:
如需下載某個指定的版本,請用指定版本號替換該命令的這一部分: $(curl -L -s https://dl.k8s.io/release/stable.txt)。
例如,要在 Linux x86-64 中下載 1.27.4 版本,請輸入:
curl -LO https://dl.k8s.io/release/v1.27.4/bin/linux/amd64/kubectl
下載 kubectl 校驗和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
基于校驗和文件,驗證 kubectl 的可執(zhí)行文件:
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
驗證通過時,輸出為:
kubectl: OK
驗證失敗時,sha256 將以非零值退出,并打印如下輸出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
3.安裝 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
說明:
即使你沒有目標系統(tǒng)的 root 權(quán)限,仍然可以將 kubectl 安裝到目錄 ~/.local/bin 中:
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl
# 之后將 ~/.local/bin 附加(或前置)到 $PATH
4.執(zhí)行測試,以保障你安裝的版本是最新的:
kubectl version --client
說明:
上面的命令會產(chǎn)生一個警告:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.
你可以忽略這個警告。你只檢查你所安裝的 kubectl 的版本。
或者使用如下命令來查看版本的詳細信息:
kubectl version --client --output=yaml
3.用原生包管理工具安裝
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
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
sudo yum install -y kubectl
三、驗證 kubectl 配置
為了讓 kubectl 能發(fā)現(xiàn)并訪問 Kubernetes 集群,你需要一個 kubeconfig 文件, 該文件在 kube-up.sh 創(chuàng)建集群時,或成功部署一個 Minikube 集群時,均會自動生成。 通常,kubectl 的配置信息存放于文件 ~/.kube/config 中。
通過獲取集群狀態(tài)的方法,檢查是否已恰當?shù)嘏渲昧?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?
(訪問 <server-name:port> 被拒絕 - 你指定的主機和端口是否有誤?)
例如,如果你想在自己的筆記本上(本地)運行 Kubernetes 集群,你需要先安裝一個 Minikube 這樣的工具,然后再重新運行上面的命令。
如果命令 kubectl cluster-info 返回了 URL,但你還不能訪問集群,那可以用以下命令來檢查配置是否妥當:
kubectl cluster-info dump
四、kubectl 的可選配置和插件
1.啟用 shell 自動補全功能
kubectl 的 Bash 補全腳本可以用命令 kubectl completion bash 生成。 在 Shell 中導入(Sourcing)補全腳本,將啟用 kubectl 自動補全功能。
然而,補全腳本依賴于工具 bash-completion, 所以要先安裝它(可以用命令 type _init_completion 檢查 bash-completion 是否已安裝)。
安裝 bash-completion
很多包管理工具均支持 bash-completion(參見這里)。 可以通過 apt-get install bash-completion 或 yum install bash-completion 等命令來安裝它。
上述命令將創(chuàng)建文件 /usr/share/bash-completion/bash_completion,它是 bash-completion 的主腳本。 依據(jù)包管理工具的實際情況,你需要在 ~/.bashrc 文件中手工導入此文件。
要查看結(jié)果,請重新加載你的 Shell,并運行命令 type _init_completion。 如果命令執(zhí)行成功,則設置完成,否則將下面內(nèi)容添加到文件 ~/.bashrc 中:
source /usr/share/bash-completion/bash_completion
重新加載 Shell,再輸入命令 type _init_completion 來驗證 bash-completion 的安裝狀態(tài)。
啟動 kubectl 自動補全功能
Bash
你現(xiàn)在需要確保一點:kubectl 補全腳本已經(jīng)導入(sourced)到 Shell 會話中。 可以通過以下兩種方法進行設置:
當前用戶
echo 'source <(kubectl completion bash)' >>~/.bashrc
系統(tǒng)全局
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
sudo chmod a+r /etc/bash_completion.d/kubectl
如果 kubectl 有關(guān)聯(lián)的別名,你可以擴展 Shell 補全來適配此別名:
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
說明:
bash-completion 負責導入 /etc/bash_completion.d 目錄中的所有補全腳本。
兩種方式的效果相同。重新加載 Shell 后,kubectl 自動補全功能即可生效。 若要在當前 Shell 會話中啟用 Bash 補全功能,源引 ~/.bashrc 文件:
source ~/.bashrc
2.安裝 kubectl convert 插件
一個 Kubernetes 命令行工具 kubectl 的插件,允許你將清單在不同 API 版本間轉(zhuǎn)換。 這對于將清單遷移到新的 Kubernetes 發(fā)行版上未被廢棄的 API 版本時尤其有幫助。
1.用以下命令下載最新發(fā)行版:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
2.驗證該可執(zhí)行文件(可選步驟)
下載 kubectl-convert 校驗和文件:
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
基于校驗和,驗證 kubectl-convert 的可執(zhí)行文件:
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
驗證通過時,輸出為:
kubectl-convert: OK
驗證失敗時,sha256 將以非零值退出,并打印輸出類似于:
kubectl-convert: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
3.安裝 kubectl-convert
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
4.驗證插件是否安裝成功
kubectl convert --help
如果你沒有看到任何錯誤就代表插件安裝成功了。
5.安裝插件后,清理安裝文件:
rm kubectl-convert kubectl-convert.sha256