TOC
前言
由于各类基于 kubernetes 的云原生实验或测试的前提都是需要一个 kubernetes 环境,而在写博客时总是需要提及使用 kind 来搭建 kubernetes 环境. 因此这里单独写一篇文章来介绍如何用 kind 来部署 kubernetes,同时提供各种不同 kubernetes 环境的 kind 配置文件供你使用.
使用
基本上,即使你没有使用过 Kind 也不是问题,因为基于 Kind 来搭建 kubernetes 就是一条命令的事,需要使用到 Kind 命令,因此你需要下载 Kind 命令行工具.
官方的 Kind 命令下载地址可以在Kind发布地址找到,而我提供了一个另一个地址来下载 Kind 命令行,在下载 Github 上文件速度慢的时候可以用这个地址:
https://res.cloudinary.com/lyp/raw/upload/v1678598428/lan/kind/kind
版本是 v0.17.0
对应的Github文件下载地址是:
https://github.com/kubernetes-sigs/kind/releases/download/v0.17.0/kind-linux-amd64
上述文件架构是 linux amd64 的,其他架构文件可以自行在上述提供的Github发布地址上找到.
使用默认的节点镜像以及默认的集群测试环境名称:
kind create --config kind.yaml
使用特定节点镜像搭建的测试环境:
kind create --config kind.yaml --image kindest/node:v1.26.0
添加--name
参数为你的 kind kubernetes 集群命名:
kind create --config kind.yaml --image kindest/node:v1.26.0 --name mykind
各类环境的配置文件
由于 Kind 的配置文件也是区分版本的,因此将这个版本放到文件下载路径中,方便明白配置文件的适用范围.
其中大部分都配置了基于lank8s.cn
服务来拉取gcr.io
和registry.lank8s.cn
的容器镜像,因此你可以愉快的Tekton、Knative等云原生技术,而不需要考虑被墙的镜像的问题了.
相关配置如下:
containerdConfigPatches:
- |-
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
endpoint = ["https://gcr.lank8s.cn"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["https://registry.lank8s.cn"]
祝你云原生之旅愉快! :)
默认带有 lank8s.cn 服务
https://liangyuanpeng.com/files/kind/v1alpha4/kind.yaml
k8s 1.26 CEL准入校验功能
https://liangyuanpeng.com/files/kind/v1alpha4/kind_1.26.yaml
多节点
https://liangyuanpeng.com/files/kind/v1alpha4/kind_mult.yaml
K8S kube-apiserver 端口映射
默认情况下使用 Kind 搭建的 kubernetes 环境只能在本机使用,这个配置文件映射了 kube-apiserver 端口,因此可以在机器A用 Kind 搭建环境,在机器B访问Kind 的 K8S.
https://liangyuanpeng.com/files/kind/v1alpha4/kind_port.yaml
没有lank8s.cn服务
https://liangyuanpeng.com/files/kind/v1alpha4/kind_nolank8s.yaml
微信公众号
扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。
