Files
k8s-docs/k8s/xiongxiao.me/config/kubectl-client.md
2025-11-27 08:51:37 +08:00

81 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kubectl 客户端安装和使用指南
## 安装 Kubectl 客户端
### 方法一:使用 curl推荐
```bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
```
### 方法二:使用包管理器
**Ubuntu/Debian:**
```bash
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
```
### 验证安装
```bash
kubectl version --client
```
### 配置 ~/.kube/config
**方法一:手动创建配置文件**
```bash
mkdir -p ~/.kube
cat > ~/.kube/config << EOF
apiVersion: v1
clusters:
- cluster:
server: https://your-k8s-api-server:6443
insecure-skip-tls-verify: true
name: my-cluster
contexts:
- context:
cluster: my-cluster
user: my-user
name: my-context
current-context: my-context
kind: Config
preferences: {}
users:
- name: my-user
user:
token: your-auth-token
EOF
```
**方法二:使用 kubectl config 命令**
```bash
kubectl config set-cluster my-cluster --server=https://your-k8s-api-server:6443 --insecure-skip-tls-verify=true
kubectl config set-credentials my-user --token=your-auth-token
kubectl config set-context my-context --cluster=my-cluster --user=my-user
kubectl config use-context my-context
```
**方法三:复制服务器配置文件**
```bash
# 从 Kubernetes 服务器复制配置文件到本地
scp root@your-k8s-master:/etc/kubernetes/admin.conf ~/.kube/config
chmod 600 ~/.kube/config
```
### 验证配置
```bash
kubectl cluster-info
kubectl get nodes
```