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已经正常运行。 (编辑:我爱制作网_沈阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330576号