部署kubernetes集群

1、部署说明
最近不少学生问我kubernetes的技术问题,回答了不少次,忽然间想我是否是作一些帖子,可让个人学生能看到,身边想学习的人也都能看到呢!因而我打算开始写这边文章,若是访问量大,学习的人多,我会每周更新一篇的速度去将kubernetes的技术一直更新下去。
随着云计算的发展,容器技术不断的更新,发展。从docker到kubernetes,企业也在不断的升级本身的架构,表明公司就是咱们熟悉的京东,从2015年开始不断的使用容器来承载本身的业务。2018年618,60%的业务都是由kubernetes来完成的。
相比openstack+kvm+docker来讲,kubernetes集群更加稳定,更加容易上手,性能更加优秀。愈来愈多的公司都在从docker转到kubernetes上来。
那么想把业务放到kubernetes,就必须先搭建一个kubernetes集群,接下来我就来给你们来部署一个kubernetes集群。
咱们的课程也会从实战出发,一步一步教给你们如何使用Kubernetes,如何将业务放到kubernetes.
废话少说,干活。node

说明:实验中的机器是CENTOS7.5 关闭firewall selinux。

2、实验架构
kubernetes集群分为master和node两个成员。
master负责节点负责对外提供一系列管理集群的 API 接口,而且经过和node节点交互来实现对集群的操做管理。
node负责节点是实际运行 Docker 容器的节点,负责和节点上运行的 Docker 进行交互,而且提供了代理功能。
部署kubernetes集群
3、实验步骤
1.根据实验拓扑配置计算机的主机名、IP地址、hosts.
以master.ayitula.com机器为例,看下图:
部署kubernetes集群
2.部署master
[root@master ~]# yum -y install kubernetes etcd
[root@master ~]# vi /etc/kubernetes/config
部署kubernetes集群
[root@master ~]# vi /etc/kubernetes/apiserver
部署kubernetes集群
启动相关服务
etcd:key-value键值存储数据库,用来存储kubernetes的信息的。
[root@master ~]# systemctl restart etcd
apiserver:用户和 kubernetes 集×××互的入口,封装了核心对象的增删改查操做,提供了 RESTFul 风格的 API 接口,经过 etcd 来实现持久化并维护对象的一致性。
[root@master ~]# systemctl restart kube-apiserver
controller-manager:主要是用于保证 replicationController 定义的复制数量和实际运行的 pod 数量一致,另外还保证了从 service 到 pod 的映射关系老是最新的。
[root@master ~]# systemctl restart kube-controller-manager
scheduler:负责集群资源的调度和管理,例如当有 pod 异常退出须要从新分配机器时,scheduler 经过必定的调度算法从而找到最合适的节点。
[root@master ~]# systemctl restart kube-schedulerlinux

使用netstat命令查看服务是否所有启动 算法

部署kubernetes集群
能够看到个人服务所有启动成功,OK!去部署Nodedocker

3.部署node
[root@node1 ~]# yum -y install kubernetes etcd
[root@node1 ~]# vi /etc/kubernetes/kubelet
部署kubernetes集群
启动相关服务
kubelet:运行在node 节点,负责和节点上的 Docker 交互,例如启停容器,监控运行状态等。
[root@node1 ~]# systemctl restart kubelet
proxy:运行在 node节点,负责为 pod 提供代理功能,会按期从 etcd 获取 service 信息,并根据 service 信息经过修改 iptables 来实现流量转发,将流量转发到要访问的 pod 所在的节点上去。
[root@node1 ~]# systemctl restart kube-proxy
docker: docker 容器守护进程
[root@node1 ~]# systemctl restart docker
经过netstat命令查看服务启动器状况数据库

部署kubernetes集群

OK,服务启动成功api

部署第二个Node node2.ayitula.com. 步骤同理,我就不在复制了。同上
4.测试
使用kubectl命令查看master是否识别了node
[root@master ~]# kubectl get node
架构

哈哈,看到了吧,实验完成了。
        下一节部署pod,你们下周来看吧!!!
相关文章
相关标签/搜索