update
部署脚本于安装arm版kubernetes集群。容器云部署脚本中包括了kubernetes底层组件、harbor、elfk等一系列服务的安装。采用ansbile脚本实现自动安装,运维人员需要对ansible工具有一定简单了解。主要服务基本实现全容器化、k8s化部署,可以通过kubernetes dashboard监控到所有容器服务;部署脚本基于centos 7 或者kylin v10 sp1,要求内核版本为4以上;既提供一键快速安装方式,也提供分步执行安装方式。
yum install -y ansible
git clone –depth=1 https://github.com/toyangdon/k8s_deploy.git
wget https://media.githubusercontent.com/media/toyangdon/k8s_deploy/master/bin/kubernetes/kubelet
cp kubelet k8s_deploy/bin/kubernetes/
cp -rf k8s_deploy/* /etc/ansible/
单机部署cp -f example/hosts.allinone.example hosts高可用集群部署cp -f example/hosts.m-masters.example hosts根据实际情况修改hosts文件4. 配置ssh免密码sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码5. 执行一键安装centosansible-playbook setup.ymlkylin v10 sp1ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3.7' setup.yml单机部署ansible-playbook -e 'apiserver_mem_requests=100Mi' -e 'apiserver_cpu_requests=100m' setup.yml
cp -f example/hosts.allinone.example hosts
cp -f example/hosts.m-masters.example hosts
hosts
sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码
ansible-playbook setup.yml
ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3.7' setup.yml
ansible-playbook -e 'apiserver_mem_requests=100Mi' -e 'apiserver_cpu_requests=100m' setup.yml
playbooks目录提供分步安装的相关playbook,主要分为两大块kubernetes和gpaas
playbooks
kubernetes
gpaas
ansible-playbook playbooks/kubernetes/00.check.yml
ansible-playbook playbooks/kubernetes/01.docker.yml
ansible-playbook playbooks/kubernetes/02.prepare.yml
ansible-playbook playbooks/kubernetes/03.harbor.yml
ansible-playbook playbooks/kubernetes/04.lb.yml
ansible-playbook playbooks/kubernetes/05.kube-master.yml
ansible-playbook playbooks/kubernetes/06.kube-node.yml
ansible-playbook playbooks/kubernetes/07.calico.yml
ansible-playbook playbooks/kubernetes/07.flannel.yml
ansible-playbook playbooks/kubernetes/09.storage-nfs.yml
ansible-playbook playbooks/kubernetes/10.storage-gluster.yml
ansible-playbook playbooks/kubernetes/20.addnode.yml
ansible-playbook playbooks/kubernetes/30.addons.yml
ansible-playbook playbooks/kubernetes/90.setup.yml
ansible-playbook playbooks/kubernetes/99.clean.yml
gpass
目前分为elk和monitor二部分
elk
monitor
efk
ansible-playbook playbooks/gpaas/elk/01.es.yml
ansible-playbook playbooks/gpaas/elk/02.fluentd.yml
ansible-playbook playbooks/gpaas/elk/03.kibana.yml
ansible-playbook playbooks/gpaas/elk/90.setup.yml
ansible-playbook playbooks/gpaas/monitor/01.prometheus.yml
ansible-playbook playbooks/gpaas/monitor/90.setup.yml
ansible-playbook playbooks/gpaas/90.setup.yml
ansible
systemctl stop firewalld
sh tools/docker/install.sh
docker run --name ansible -it --privileged -v /root/k8s-install:/etc/ansible toyangdon/ansible:latest
k8s 部署-arm64
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
说明
部署脚本于安装arm版kubernetes集群。
容器云部署脚本中包括了kubernetes底层组件、harbor、elfk等一系列服务的安装。采用ansbile脚本实现自动安装,运维人员需要对ansible工具有一定简单了解。主要服务基本实现全容器化、k8s化部署,可以通过kubernetes dashboard监控到所有容器服务;部署脚本基于centos 7 或者kylin v10 sp1,要求内核版本为4以上;既提供一键快速安装方式,也提供分步执行安装方式。
组件版本
部署示意图
快速安装
yum install -y ansible
git clone –depth=1 https://github.com/toyangdon/k8s_deploy.git
由于从github上下载项目,项目中的大文件中会出现损坏,需要单独下载kubelet文件
wget https://media.githubusercontent.com/media/toyangdon/k8s_deploy/master/bin/kubernetes/kubelet
将下载的kubelet文件,替换到k8s_deploy/bin/kubernetes/目录下
cp kubelet k8s_deploy/bin/kubernetes/
将部署文件复制到/etc/ansible目录下
cp -rf k8s_deploy/* /etc/ansible/
单机部署
cp -f example/hosts.allinone.example hosts
高可用集群部署
cp -f example/hosts.m-masters.example hosts
根据实际情况修改
hosts
文件4. 配置ssh免密码
sh tools/ssh-key-copy.sh root ${passwd} #请输入实际的root用户密码
5. 执行一键安装
centos
ansible-playbook setup.yml
kylin v10 sp1
ansible-playbook -e 'ansible_python_interpreter=/usr/bin/python3.7' setup.yml
单机部署
ansible-playbook -e 'apiserver_mem_requests=100Mi' -e 'apiserver_cpu_requests=100m' setup.yml
分步安装
playbooks
目录提供分步安装的相关playbook,主要分为两大块kubernetes
和gpaas
kubernetes
部署ansible-playbook playbooks/kubernetes/00.check.yml
检查集群服务器ansible-playbook playbooks/kubernetes/01.docker.yml
在所有主机上安装并启动docker服务ansible-playbook playbooks/kubernetes/02.prepare.yml
服务器通用配置,生成并分发集群所需相关证书ansible-playbook playbooks/kubernetes/03.harbor.yml
部署harbor节点,安装并启动harbor服务(可选)ansible-playbook playbooks/kubernetes/04.lb.yml
准备lb节点所需的相关安装文件,包括keepalived和haproxyansible-playbook playbooks/kubernetes/05.kube-master.yml
准备master节点所需的相关安装文件ansible-playbook playbooks/kubernetes/06.kube-node.yml
在主机上安装并启动kubelet服务,先启动lb,再启动master,最后启动kube-nodeansible-playbook playbooks/kubernetes/07.calico.yml
在主机上准备calico服务所需要的相关安装文件(与flannel可选)ansible-playbook playbooks/kubernetes/07.flannel.yml
在主机上准备flannel服务所需要的相关安装文件(与calico可选) (暂时不可用)ansible-playbook playbooks/kubernetes/09.storage-nfs.yml
安装nfs服务(与gfs可选)(暂时不可用)ansible-playbook playbooks/kubernetes/10.storage-gluster.yml
准备安装gfs服务ansible-playbook playbooks/kubernetes/20.addnode.yml
新增节点ansible-playbook playbooks/kubernetes/30.addons.yml
kubernetes所有插件服务的部署,包括kube-proxy、kubedns、calico、glusterfs等等ansible-playbook playbooks/kubernetes/90.setup.yml
一键安装kubernetes,即顺序执行以上所有步骤(除了20.addnode)ansible-playbook playbooks/kubernetes/99.clean.yml
一键清理kubernetes集群(慎用)gpass
部署(暂未实现)目前分为
elk
和monitor
二部分efk
部署ansible-playbook playbooks/gpaas/elk/01.es.yml
es部署ansible-playbook playbooks/gpaas/elk/02.fluentd.yml
fluentdansible-playbook playbooks/gpaas/elk/03.kibana.yml
kibana部署ansible-playbook playbooks/gpaas/elk/90.setup.yml
一键安装elk,即顺序执行以上所有步骤monitor
部署ansible-playbook playbooks/gpaas/monitor/01.prometheus.yml
prometheus部署ansible-playbook playbooks/gpaas/monitor/90.setup.yml
一键安装监控平台,即顺序执行以上所有步骤一键部署
gpass
ansible-playbook playbooks/gpaas/90.setup.yml
ansible
容器化systemctl stop firewalld
#关闭防火墙sh tools/docker/install.sh
docker run --name ansible -it --privileged -v /root/k8s-install:/etc/ansible toyangdon/ansible:latest
#进入容器内执行ansible脚本