k3d快速搭建k3s测试环境
1. 简介
简单说明下: k3s可以看做是k8s的精简版,功能和操作方式和k8s一样的。 而k3d则是将k3sdocker化的一个开源项目,也就是k3d可以将k3d部署于docker中。适合快速搭建开发测试环境。
2. 基建
首先第一步则是安装k3d, 这里官方有安装文档, 很简单的一键安装, k3d官网
其他方式可以去看官网的安装命令
1
wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
接下来安装 kubectl 工具,这是k8s管理工具,kubectl安装教程。也很简单,几乎是一键安装。
上面两个工具安装完成后,就可以开始搭建k3s环境了。
3.搭建环境
k3d支持命令或配置文件方式搭建k3s集群,这里提供一个模版方便快速创建。
另存为mycluster.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apiVersion: k3d.io/v1alpha5
kind: Simple
metadata:
name: mycluster
servers: 1
agents: 2
ports:
- port: 80:80
nodeFilters:
- loadbalancer
registries:
create: # creates a default registry to be used with the cluster; same as `--registry-create registry.localhost`
name: registry.localhost
host: "0.0.0.0"
hostPort: "5000"
volumes:
- /home/ray/k3dlearn/imagelist:/var/lib/registry # persist registry data locally
config: |
mirrors:
"docker.io":
endpoint:
- https://mirror.aliyuncs.com
- https://mirror.ccs.tencentyun.com
- https://mirror.baidubce.com
- https://docker.mirrors.ustc.edu.cn
- https://docker.nju.edu.cn
- https://docker.m.daocloud.io
- https://registry.dockermirror.com
将上面配置文件保存为mycluster.yaml,配置文件中端口和镜像路径需要同步修改。使用k3d cluster create --config ./k3dcluster.yaml命令就会自动执行以下操作:
- 自动创建一个k3s集群
- 自动创建一个dockerIamge 私有仓库,这个仓库的hostname为
registry.localhost,也就是name配置,所有容器都会从这里拉取 - 开启了容器负载均衡,使用的80端口
创建完成后:
- 使用
k3d cluster list查看当前创建的所有k3s集群。 - 使用
k3d cluster delete 集群名称可以删除。
到这里k3s集群就创建完成了。
4. 后语
其实k3d使用命令行的方式也能创建,但是国内的docker镜像网络一直不太稳定。 命令的方式不能配置docker镜像地址,而配置文件缺可以。 所以推荐使用配置文件的方式创建集群。
其次镜像仓库问题,只能在配置文件中自动创建一个镜像仓库,容器内可以通过name配置进行访问,但是其他机器缺不行,所以需要手动 增加host配置,将registry.localhost指向真正的ip。
This post is licensed under
CC BY 4.0
by the author.