https://blog.csdn.net/omaidb/article/details/121683661
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
chmod +x ./kind
mv kind /usr/bin/
which kind
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo 'source <(kind completion bash)' >>~/.bashrc
# 下载最新版kubectl命令
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 赋予kubectl命令可执行权限
chmod +x kubectl
# 将kubectl安装到/usr/local/bin目录
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 查看kubectl版本
kubectl version --client
# 添加k8s源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# 安装组件
yum install -y kubectl
# 安装bash-completion
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo 'source <(kubectl completion bash)' >>~/.bashrc
参考: https://kind.sigs.k8s.io/docs/user/quick-start/
# 创建集群
## 不指定--name时集群默认名称为kind
kind create cluster
## 指定--name,集群名为kind
kind create cluster --name kind
# 查看创建的所有集群
kind get clusters
# 查看集群信息(单集群)
kubectl cluster-info
## 有多个集群时查看集群信息,使用--context 集群name
kubectl cluster-info --context kind-kind
# 删除集群
kind delete clusters kind
# 查看集群节点列表
kubectl get nodes
# 查看所有pods
kubectl get pods -A
# 查看组件状态
kubectl get cs
# 参考 https://blog.51cto.com/u_2367685/3117365
# 创建必要文件
mkdir -p $HOME/.kube
docker ps
# 将容器中的的配置文件复制到宿主机
docker cp kind-control-plane:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
一个 Kubernetes 命令行工具 kubectl 的插件,允许你将清单在不同 API 版本间转换。 在将清单迁移到具有较新 Kubernetes 版本的未弃用 API 版本时,这个插件特别有用。 更多信息请访问 迁移到非弃用 API
下载kubectl convert插件
# 用以下命令下载最新发行版:
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert
安装kubectl convert插件
sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
验证插件是否安装成功
kubectl convert --help
如果你没有看到任何错误就代表插件安装成功了。
https://www.apiref.com/kubernetes-zh/488.html
# 使用资源清单创建
kind create cluster --config kind-example-config.yaml
多节点资源清单文件
# 创建一个master,两个node
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
# 将虚拟机中的master的节点的30080端口映射到本地的8443端口
- role: control-plane
extraPortMappings:
- containerPort: 30080
hostPort: 8443
# 要映射端口,自行添加即可
- containerPort: 30880
hostPort: 8880
- role: worker
- role: worker
kubectl --context kind get no
https://blog.csdn.net/omaidb/article/details/121746492
[root@master1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
kind-control-plane Ready control-plane,master 102m v1.21.1
# 进入kind-control-plane容器
docker exec -ti kind-control-plane bash
# 刷新kind-control-plane容器的ubuntu源
apt update
# 安装bash-conpletion,实现命令自动补全
apt install bash-completion -y
kind 创建的集群使用的是containerd
所以我们使用 crictl
命令来获取
# 查看kind-control-plane节点中的镜像
root@kind-control-plane:/# crictl images
IMAGE TAG IMAGE ID SIZE
docker.io/kindest/kindnetd v20210326-1e038dc5 6de166512aa22 54MB
docker.io/rancher/local-path-provisioner v0.0.14 e422121c9c5f9 13.4MB
k8s.gcr.io/build-image/debian-base v2.1.0 c7c6c86897b63 21.1MB
k8s.gcr.io/coredns/coredns v1.8.0 296a6d5035e2d 12.9MB
k8s.gcr.io/etcd 3.4.13-0 0369cf4303ffd 86.7MB
k8s.gcr.io/kube-apiserver v1.21.1 94ffe308aeff9 127MB
k8s.gcr.io/kube-controller-manager v1.21.1 96a295389d472 121MB
k8s.gcr.io/kube-proxy v1.21.1 0e124fb3c695b 133MB
k8s.gcr.io/kube-scheduler v1.21.1 1248d2d503d37 51.9MB
k8s.gcr.io/pause 3.5 ed210e3e4a5ba 301kB
# 查看kind-control-plane节点中的容器
root@kind-control-plane:/# crictl ps
CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID
1a32ee0d148ac 296a6d5035e2d 7 minutes ago Running coredns 1 934bbd0fd95bb
155bf11f718b0 6de166512aa22 7 minutes ago Running kindnet-cni 1 2f44ffdc1d3fe
b749561a4981e 296a6d5035e2d 7 minutes ago Running coredns 1 428c0d326a0ed
9cba4431ea1e6 e422121c9c5f9 7 minutes ago Running local-path-provisioner 1 cbea101878923
b994ed402de5f 0e124fb3c695b 7 minutes ago Running kube-proxy 1 0c3c7f70ec8da
483e55f83aa58 94ffe308aeff9 7 minutes ago Running kube-apiserver 1 aa6715c8a51ca
c10d6643cac5b 96a295389d472 7 minutes ago Running kube-controller-manager 1 83c1e71ee8715
10c13dc22b245 1248d2d503d37 7 minutes ago Running kube-scheduler 1 1244e11222811
2ed82ebd82e0e 0369cf4303ffd 7 minutes ago Running etcd 1 6482c67187c52