加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_沈阳站长网 (https://www.024zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux系统k8s集群部署实践(一)

发布时间:2022-10-05 13:00:13 所属栏目:Linux 来源:
导读:  简介:Kubernetes(简称K8s)是Google在2014年开源的一个容器集群管理系统,Kubernetes在希腊语中意思是船长或领航员,这也恰好与它在容器集群管理中的作用吻合,作为装载了集装箱(Container)的众多货船的指挥
  简介:Kubernetes(简称K8s)是Google在2014年开源的一个容器集群管理系统,Kubernetes在希腊语中意思是船长或领航员,这也恰好与它在容器集群管理中的作用吻合,作为装载了集装箱(Container)的众多货船的指挥者,负担着全局调度和运行监控的职责。Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。
 
  一个K8s集群是由分布式存储(etcd)、服务节点(Node)和控制节点(Master)构成的。所有的集群状态都保存在etcd中集群linux,Master节点上则运行集群的管理控制模块。Node节点是真正运行应用容器的主机节点,在每个服务节点上都会运行一个Kubelet代理,控制该节点上的容器、镜像和存储卷等。
 
  一、K8s安装步骤
 
  1、查看两台linux服务器的主机名
 
  登陆Linux系统后执行指令# hostname。查看服务器的DNS名称。如下图
 
  2、准备安装环境(主机master和从机node)
 
  2.1、主机安装epel-release源
 
  执行指令# yum -y install epel-release
 
  2.2、从机安装epel-release源
 
  执行指令# yum -y install epel-release
 
  2.3、主从机关闭防火墙
 
  执行指令# systemctl stop firewalld
 
  # systemctl disable firewalld
 
  # firewall-cmd --state
 
  3、主机上安装kubernetes Master
 
  3.1、使用yum安装etcd kubernetes-master
 
  执行指令# yum -y install etcd kubernetes-master
 
  3.2、执行指令vim /etc/etcd/etcd.conf编辑配置文件
 
  备注:#etcd名称
 
  ETCD_NAME=default
 
  #etcd数据存储位置
 
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
 
  #监听的端口
 
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
 
  #[cluster]
 
  #集群监听的端口
 
  ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
 
  3.3、执行指令vim /etc/kubernetes/apiserver编辑文件
 
  备注:#监听的接口,如果配置为127.0.0.1则只监听localhost,配置为0.0.0.0会监听所有接口,这里配置为0.0.0.0
 
  KUBE_API_ADDRESS="--address=0.0.0.0"
 
  #apiserver的监听端口,默认8080
 
  KUBE_API_PORT="--port=8080"
 
  #minion上kubelet监听的端口,默认10250
 
  KUBELET_PORT="--kubelet-port=10250"
 
  #etcd服务地址,前面已经启动了etcd服务,端口为2379
 
  KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
 
  #kubernetes可以分配的ip的范围,kubernetes启动的每一个pod以及serveice都会分配一个ip地址,将从这个范围分配
 
  KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
 
  #需要额外添加的配置项,简单地启用一个集群无需配置
 
  KUBE_API_ARGS=""
 
  3.4、启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。
 
  执行指令#for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done
 
  3.5、在etcd中定义flannel网络。如下图
 
  执行指令# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'。如下图
 
  4、从机上安装kubernetes Node
 
  4.1、安装kubernetes Node和flannel组件应用。
 
  执行指令# yum -y install flannel kubernetes-node
 
  4.2、执行指令# vim /etc/sysconfig/flanneld编辑文件。为flannel网络指定etcd服务。如下图
 
  备注:#etcd的访问地址及端口(master地址)
 
  LANNEL_ETCD_ENDPOINTS="http://172.1.27.50:2379"
 
  #服务范围
 
  LANNEL_ETCD_PREFIX="/kube-centos/network"
 
  #其他
 
  FLANNEL_OPTIONS=""
 
  4.3、执行指令# vim /etc/kubernetes/config编辑配置文件(设置master的ip地址)。如下图
 
  备注:#表示错误日志记录到文件还是输出到stderr
 
  KUBE_LOGTOSTDERR="--logtostderr=true"
 
  #日志等级
 
  KUBE_LOG_LEVEL="--v=0"
 
  #允许运行特权容器
 
  KUBE_ALLOW_PRIV="--allow-privileged=false"
 
  #apiserver的服务地址,controller-manager、scheduler及kubelet都会用到这个配置,这里配置为172.16.27.50
 
  KUBE_MASTER="--master=http:// 172.16.27.50:8080"
 
  4.4、执行指令# vim /etc/kubernetes/kubelet修改node机的kubelet配置文件。如下图
 
  备注:#minion监听的地址,每个minion根据实际的ip配置,配置为0.0.0.0
 
  KUBELET_ADDRESS="--address=0.0.0.0"
 
  #监听的端口
 
  KUBELET_PORT="--port=10250"
 
  #apiserver的访问地址及端口
 
  KUBELET_API_SERVER="--api-servers=http://172.16.27.50:8080"
 
  #额外增加的参数
 
  KUBELET_ARGS="--logtostderr=false --v=0 --log-dir=/data/logs/kubernetes"
 
  4.5、从机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。
 
  执行指令#for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done
 
  二、K8s服务启动
 
  1、通过以上步骤,已经完成对Master主机和Node从机的k8s集群服务的配置。
 
  2、启动k8s集群服务
 
  在Master主机上执行指令# kubectl get nodes查看Node节点的k8s运行状态。如下图
 
  备注:运行状态为Ready表示该Node节点的k8s已经正常运行。
 

(编辑:我爱制作网_沈阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!