【Kubernetes】集群外使用 kubectl 命令连接集群
Kubectl 是 Kubernetes 的核心命令行工具,用于管理集群资源。本文将详细介绍如何从集群外部使用 Kubectl 命令,帮助您快速连接 Kubernetes 集群并执行操作。我们将提供实用的操作指南和具体示例!
- 集群主机 Master: Linux_amd64
- 集群外主机 Test:Linux_amd64
- 集群外主机 Win:Windows_11_amd64
1、集群外 Linux 主机连接
1.1、准备工作
### 集群 Master:172.16.15.105 ###
# 查看集群状态,单节点集群
kubectl get node
kubectl get pod -A### 集群外主机 Test:172.16.13.200 ###
# 无 kubectl 命令
kubectl get node
# 查看主机内核(amd 或 arm,此处 Test 主机为 amd)
uname -r
1.2、安装 kubectl
### 集群 Master:172.16.15.105 ###
# 查看集群 Master 节点的 config 文件位置($HOME/.kube/config)
ls $HOME/.kube
echo $HOME### 集群外主机 Test:172.16.13.200 ###
# 下载集群对应的 kubelet,架构与 Test 主机相同
# curl -LO "https://dl.k8s.io/release/{version}/bin/linux/arm64/kubectl"
curl -LO "https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl"# 验证下载的 kubectl 执行文件(可选)
# 下载校验文件
# curl -LO "https://dl.k8s.io/release/{version}/bin/linux/arm64/kubectl.sha256"
curl -LO "https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl.sha256"
# 基于校验文件验证 kubelet 可执行文件,验证通过输出 OK
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check# 安装 kubelet
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 安装成功查看版本
kubectl version
# 将集群 Master 节点的 config 文件($HOME/.kube/config),拷贝到集群外主机 $HOME/.kube/config
scp -r root@172.16.15.105:/root/.kube/config ./
mkdir -p $HOME/.kube
cp ./config $HOME/.kube/# 使用 kubectl 命令连接集群
# 若 config 未放在 $HOME/.kube/ 目录下,可使用命令 kubectl --kubeconfig=【指定 config 】 get node
kubectl get node
1.3、验证 kubectl 可用
### 集群外主机 Test:172.16.13.200 ###
# 任意删除一个 pod
kubectl delete pod <podname> -n <namespace> --force --grace-period 0
2、集群外 Windows 主机连接
2.1、准备工作
### 集群 Master:172.16.15.105 ###
# 查看集群状态,单节点集群
kubectl get node
kubectl get pod -A### 集群外主机 Win: 172.16.13.222 ###
# 下载 .exe 运行程序
https://dl.k8s.io/release/v1.29.0/bin/windows/amd64/kubectl.exe
# 下载 kubectl 校验文件
https://dl.k8s.io/v1.29.0/bin/windows/amd64/kubectl.exe.sha256
# 校验,下方两条命令输出的内容相同
CertUtil -hashfile kubectl.exe SHA256
type kubectl.exe.sha256
2.2、安装 kubectl
### 集群 Master:172.16.15.105 ###
# 查看 config 文件所在位置($HOME/.kube/config)
ls $HOME/.kube
echo $HOME### 集群外主机 Win: 172.16.13.222 ###
# 将 kubectl 文件配置到 PATH 环境变量中,配置文件所在目录(配置完成后打开一个新的 CMD)
# 安装成功查看版本
kubectl version --client
# 将集群 Master 的 config 文件($HOME/.kube/config),拷贝到 windwos 主机的 ~/.kube/config
cd %USERPROFILE%
md .kube
scp -r root@172.16.15.105:/root/.kube/config .kube/
cd ./.kube
dir
# 使用 kubectl 命令连接集群
# 若 config 未放在 $HOME/.kube/ 目录下,可使用命令 kubectl --kubeconfig=【指定 config 】 get node
kubectl get node
2.3、验证 kubectl 可用
### 集群外主机 Win: 172.16.13.222 ###
# 任意删除一个 pod
kubectl delete pod <podname> -n <namespace> --force --grace-period 0