安装 kubectl

  • 下载对应版本的kubectl
    • 下载一个可执行文件,加入到PATH环境变量即可
    • 需要指定版本直接换版本即可(我安装是1.17,直接脚本中替换为v1.17.0即可)
1
2
3
4
5
6
7
8
# Linux
curl -LO https://dl.k8s.io/release/v1.22.0/bin/linux/amd64/kubectl

# Mac
curl -LO "https://dl.k8s.io/release/v1.22.0/bin/darwin/arm64/kubectl"

# Windows
curl -LO "https://dl.k8s.io/release/v1.22.0/bin/windows/amd64/kubectl.exe"

配置PATH环境变量

1
2
3
4
5
6
7
8
9
10
# 给下载的kubectl 赋予权限
chmod +x kubectl

# kubectl 放到当前用户家目录下.local/bin/下(可以直接放到PATH环境变量下即可譬如/usr/local/bin下)
mkdir -p ~/.local/bin/kubectl
mv ./kubectl ~/.local/bin/kubectl

#将该路径加入到环境变量中
vim ~/.bashrc
PATH=$PATH:/home/zzxx/.local/bin/kubectl
  • 没有配置k8s集群 不会出现Server version

image-20211102112847497

安装kind

image-20211102111546523

使用Kind配置本地k8s集群

kind官网

查看kind和k8s对应关系(我安装的1.17的kubectl,这里就选1.7对应的kind,个人使用还是推荐新一点的版本)

https://github.com/kubernetes-sigs/kind/releases

  • kind0.7对应kubenetes的1.7版本

image-20211102122054873

  • 如果本地配置了Golang环境,可以直接go get安装
1
go get sigs.k8s.io/kind@v0.11.1
  • 如果本地没有Golang环境
1
2
3
4
5
6
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64

chmod +x ./kind

# 我放到和kubectl一样的位置(环境变量能找到即可)
mv ./kind ~/.local/bin/kind
  • 启动kind集群
1
2
3
4
5
# 默认集群名为kind
kind create cluster

# 通过 --name 指定集群名
kind create cluster --name kind-2
  • 查看当前kubectl连接k8s情况

kubectl cluster-info

image-20211102133236607

  • 列出集群:
1
kind get clusters
  • 删除集群
1
kind delete cluster

切换集群环境

如果想远程登录kind,或者多个k8s集群之间切换使用,需要导出kind的配置

1
2
3
4
5
6
7
8
9
# kind get kubeconfig可查看该集群配置,下面是命令直接输出到kind-config文件中了
kind get kubeconfig >> ~/.ssh/rsa/kind-config
export KUBECONFIG= ~/.ssh/rsa/kind-config

# 查看集群信息
kubectl cluster-info

# 取消该配置
unset KUBECONFIG

命令行切换集群环境

  • 要获取上下文列表
1
2
3
4
5
# 查看 所有上下文列表
kubectl config get-contexts

# 查看当前使用的集群(kubectl config get-contexts 中current中标*的即为)
kubectl config current-context

image-20211102145453751

切换集群环境

1
kubectl config use-context kind-kind

1
kubectl config set-context NAME [--cluster=cluster_nickname] [--user=user_nickname] [--namespace=namespace]
1
2
3
4
5
kubectl config set-context wps-manager --cluster=wps-manager --user=admin --namespace=wps-manager --kubeconfig=/home/zzxx/.kube/config


kubectl config use-context wps-manager --kubeconfig=/home/zzxx/.kube/config