李明
|
原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
基础集群部署 - kubernetes-simple部署ETCD(主节点)简介ETCD保证了数据的存储,保证了数据的高可用,还有数据的一致性,它跟zookeeper类似。kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等。都需要持久化。etcd就是它的数据中心。生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点。我们这里以学习为主就只在主节点部署一个实例。 如果你的环境已经有了etcd服务(不管是单点还是集群),可以忽略这一步。前提是你在生成配置的时候填写了自己的etcd endpoint哦~ 部署etcd的二进制文件和服务的配置我们都已经准备好,现在的目的就是把它做成系统服务并启动。(这个是要在主节点操作的,在server01上) #把服务配置文件copy到系统服务目录 cp ~/kubernetes-starter/target/master-node/etcd.service /lib/systemd/system/ #enable服务 systemctl enable etcd.service #创建工作目录(保存数据的地方) mkdir -p /var/lib/etcd # 启动服务 service etcd start # 查看服务日志,看是否有错误信息,确保服务正常 journalctl -f -u etcd.service # 查看在线的端口2379 2380 netstat -ntlp
查看etcd的配置 WorkingDirectory 工作目录配置文件存在这个路径下 vi /lib/systemd/system/etcd.service
PS: 提示start etcd 已经启动 部署APIServer(主节点)简介kube-apiserver是Kubernetes最重要的核心组件之一,主要提供以下的功能
生产环境为了保证apiserver的高可用一般会部署2+个节点,在上层做一个lb做负载均衡,比如haproxy。由于单节点和多节点在apiserver这一层说来没什么区别,所以我们学习部署一个节点就足够啦 部署APIServer的部署方式也是通过系统服务。部署流程跟etcd完全一样,不再注释 cp kubernetes-starter/target/master-node/kube-apiserver.service /lib/systemd/system/ systemctl enable kube-apiserver.service service kube-apiserver start journalctl -f -u kube-apiserver
重点配置说明[Unit]
部署ControllerManager(主节点)简介
Controller Manager由kube-controller-manager和cloud-controller-manager组成,是Kubernetes的大脑,它通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态。 controller-manager、scheduler和apiserver 三者的功能紧密相关,一般运行在同一个机器上,我们可以把它们当做一个整体来看,所以保证了apiserver的高可用即是保证了三个模块的高可用。也可以同时启动多个controller-manager进程,但只有一个会被选举为leader提供服务。 部署通过系统服务方式部署 cp ~/kubernetes-starter/target/master-node/kube-controller-manager.service /lib/systemd/system/ systemctl enable kube-controller-manager.service service kube-controller-manager start journalctl -f -u kube-controller-manager 重点配置说明[Unit]
PS:下次继续把k8s的基础搭建完成。这个坑很大,注意自己的符号标点,我就是把端口签名的冒号写成了点。找了4个小时各种试才发现的。里面有写错的,192.168.1.101.2379 改成192.168.1.101:2379
|
2019-02-20 00:56:08