现在kubernetes使用的 CRI(容器运行时)主流的是docker和containerd,以下是一个自动化安装kubernetes集群的脚本,并且支持两种运行时,按照如下步调操作即可。
系统版本为centos 7.9,docker的安装方式我已经试验过没问题了
1. 添加脚本
- vi /usr/local/bin/kubestart
复制代码 将以下内容复制进去2. 修改为可执行文件
- sudo chmod +x /usr/local/bin/kubestart
复制代码 3. 支持的命令
然后你就可以使用以下两条命令去创建你的k8s集群了- # 初始化各种环境配置
- kubestart init-env
- # 启动集群,应用cni
- kubestart run-kube
- # 帮助命令
- kubestart help
复制代码 4. 可能遇到的问题
- 关于镜像拉取,现在dockerhub已经不能使用,脚本里面设置了镜像代理:https://docker.m.daocloud.io,拉不下来的可以自己使用docker pull命令多拉几次,仍旧欠好使或者您的集群可以顺利从dockerhub拉去镜像不必要代理的话,可以去掉这个设置:
- vi /etc/docker/daemon.json
- # 删除掉这行
- "registry-mirrors": ["https://docker.m.daocloud.io"]
- # 删除掉之后注意保持json文件格式正确,上一行末尾的逗号去掉,然后保存执行
- systemctl restart docker
- systemctl enable kubelet
复制代码 PS 脚本分析:
- 脚本开头的几个参数,是关于你想使用的 k8s 版本以及 crictl 安装包,想要使用其他版本的可以在开头改一下。
想要检察现在支持哪些版本可以使用以下命令:- yum list --showduplicates kubeadm --disableexcludes=kubernetes
复制代码
- kubestart init-env 命令后面还可以添加其他参数,选择容器运行时,可以使用 docker 或者 containerd,默认是 docker
- 执行 kubeadm init 命令使用的是 /etc/kubernetes/kubeadm.yaml 设置文件启动的,如果有特殊必要,在执行完 init-env 命令后去修改这个文件内容就可以,其实启动集群的方式就是这条命令:
- kubeadm init --config /etc/kubernetes/kubeadm.yaml
复制代码
- 默认使用的是 calico 作为 cni 应用,你如果想使用其他的,去修改一下脚本里面的 init-env-kubecomp 函数即可。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |