简介:Kubernetes是一个开源的容器集群管理系统,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。
Kubernetes (通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写) 是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统。
K8S有六大特点,一是可移植。支持公有云,私有云,混合云,多重云(multi-cloud);二是可扩展。模块化, 插件化, 可挂载, 可组合;三是自动化。 自动部署,自动重启,自动复制,自动伸缩/扩展;四是快速部署应用,快速扩展应用;五是无缝对接新的应用功能;六是节省资源,优化硬件资源的使用。
本文主要介绍M8S集群部署的基本方法,具体是部署一台K8S管理服务器Master和两台节点服务器node1和nide2,并通过测试验证。详细内容请参考下文。
一、K8S集群部署
1、主机规划
三台服务器:master、node1和node2
2、安装软件包
说明:在master、node1和node2三个节点上分别操作。
(1)、master节点
Master节点执行指令
# yum install -y etcd docker kubernetes flannel
Master节点查看安装版本
# rpm -qa etcd docker kubernetes flannel
(2)、node1节点
Node1节点执行指令
# yum install -y docker kubernetes flannel
Node1节点查看安装版本
# rpm -qa docker kubernetes flannel
(3)、node2节点
Node2节点执行指令
# yum install -y docker kubernetes flannel
Node2节点查看安装版本
# rpm -qa docker kubernetes flannel
3、Master节点修改配置etcd
(1)、修改配置文件的内容如下
执行指令
# grep -Ev '^$|#' /etc/etcd/etcd.conf
(2)、启动etcd
执行指令
# systemctl enable etcd
设置自启动
执行指令
# systemctl start etcd
启动etcd
(3)、测试etcd
(4)、配置并启动K8S
配置apiserver文件
执行指令
# grep -Ev '^$|#' /etc/kubernetes/apiserver
配置config文件
执行指令
# grep -Ev '^$|#' /etc/kubernetes/config
启动K8S服务
执行指令分别启动K8S的三个服务,如下图
# systemctl enable kube-apiserver.service
# systemctl start kube-apiserver.service
# systemctl enable kube-controller-manager.service
# systemctl start kube-controller-manager.service
# systemctl enable kube-scheduler.service
# systemctl start kube-scheduler.service
4、部署Node1和Node2节点
(1)、部署Node1节点
修改config配置文件。如下图
修改kubelet配置文件。如下图
(2)、部署Node2节点
修改config配置文件。如下图
修改kubelet配置文件。如下图
(3)、分别启动Node1和Node2的kubelet和kube-proxy
执行指令分别启动Node的两个服务,如下图
# systemctl enable kubelet.service
# systemctl start kubelet.service
# systemctl enable kube-proxy.service
# systemctl start kube-proxy.service
(4)、在Master上查看集群中节点及节点状态
执行指令# kubectl get nodes提示没有发现资源
解决办法:关闭防火墙firewall
Master和Node1 Node2关闭防火墙
执行指令# systemctl stop firewalld
执行指令# systemctl disable firewalld
然后再执行指令# kubectl get nodes
二、访问测试
访问http://172.16.27.33:8080如下