简单的kubernetes搭建
一、基本环境:
Centos7.X
Docker Version: 1.13.1
二、kubernetes各组件介绍:
etcd保存了整个集群的状态
kube-proxy负责为Service提供cluster内部的服务发现和负载均衡
kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理
apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
Container runtime负责镜像管理以及Pod和容器的真正运行(CRI)
三、集群规划
主机名 |
IP |
需安装服务 |
节点 |
libin3.com |
192.168.124.134 |
apiserver,controller-manager,scheduler,etcd |
master |
libin2.com |
192.168.124.133 |
flannel,docker,kubelet,kube-proxy |
node1 |
四、master、node1节点配置前系统设置
1、配置域名解析(master,node1)
# vim /etc/hosts
168.124.134 libin3.com master
192.168.124.133 libin2.com node1
2、配置时间同步
master节点:
# vim /etc/ntp.conf
==>server 4.cn.ntp.org.cn
node1 节点:
# vim /etc/ntp.conf
==>server libin3.com
3、关闭防火墙(master、node1)
# systemctl stop firewalld && systemctl disable firewalld
4、设置selinux(master、node1)
# vim /etc/selinux/config
==>SELINUX=disabled
5、开启httpd服务(master、node1)
# systemctl start ntpd
五、kubernetes集群搭建操作步骤:master节点
1、安装配置并运行etcd服务
# yum install -y etcd
# vim /etc/etcd/etcd.conf
==>ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
==>ETCD_ADVERTISE_CLIENT_URLS="http://libin3.com:2379"
# systemctl start etcd.service
# systemctl enable etcd.service
2、配置etcd的flannel信息
# etcdctl -C http://192.168.124.134:2379 set /atomic.io/network/config '{"Network":"172.17.0.1/16"}'
3、安装kubernetes-master
# yum install kubernetes-master.x86_64
4、修改kubernetes配置文件
# vim /etc/kubernetes/apiserver
==>KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
==>KUBE_ETCD_SERVERS="--etcd-servers=http://libin3.com:2379"
==>KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger"
5、配置kubernetes 全局文件
==>KUBE_MASTER="--master=http://master:8080"
6、启动master的kubernetes 服务
# systemctl start kube-apiserver kube-scheduler kube-controller-manager
7、master上kubernetes 服务测试
# firefox libin3.com:8080
# curl libin3.com:8080
六、kubernetes集群搭建操作步骤:node1节点
1、安装kubernetes-node、docker、flannel服务
# yum install -y flannel kubernetes-node docker
2、配置flannel
# vim /etc/sysconfig/flanneld
==>FLANNEL_ETCD_ENDPOINTS="http://libin3.com:2379"
==>FLANNEL_ETCD_PREFIX="/atomic.io/network"
3、配置kubernetes全局文件
# vim /etc/kubernetes/config
==>KUBE_MASTER="--master=http://libin3.com:8080"
4、配置kubelet组件
# vim /etc/kubernetes/kubelet
==>KUBELET_HOSTNAME="--hostname-override=node1"
==>KUBELET_API_SERVER="--api-servers=http://master:8080"
5、启动kubernetes服务
# systemctl start kubelet.service kube-proxy.service
三、集群测试(master节点)
# kubectl get nodes
(注:这里没有pull镜像,kubernetes安装方法可以根据生产环境制定)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下