锅炉信息网 > 锅炉知识 > 锅炉百科

K8S 集群的安装

K8S 集群的安装本文主要结合自己安装K8S集群的经历介绍一下K8S集群的安装过程安装过程主要参考博文 https://www.cnblogs.com/spl

K8S 集群的安装


本文主要结合自己安装K8S集群的经历介绍一下K8S集群的安装过程

安装过程主要参考博文 https://www.cnblogs.com/spll/p/10033316.html

言归正传。

集群部署在自己的虚拟机上,首先要保证每一个虚拟机至少2核,否则集群无法运行。集群规划如下

master:192.168.56.4

node1:192.168.56.2

node2:192.168.56.3

系统基于Centos7,node节点需要安装docker,由于虚拟机资源有限,后续再考虑master的HA等问题

集群规划好了,开始安装


1. 关闭防火墙和selinux

关闭所有节点的防火墙和selinux

修改 /etc/selinux/config ,设置SELINUX为disabled

关闭防火墙

# service firewalld stop

防止防火墙开机启动

# systemctl disable firewalld.service

修改后,重启server


2. 在master节点上安装 K8S Master

安装etcd和kubernates-master

yum -y install etcd kubernetes-master

2.1 修改etcd的配置文件

此次etcd使用单机版

vi /etc/etcd/etcd.conf

修改内容如下

ETCD_DATA_DIR="/data/etcd" # etcd存储数据的路径
ETCD_NAME="default" #etcd的名字
ETCD_LISTEN_CLIENT_URLS="http://192.168.56.4:2379" # etcd对外提供服务的地址,如果是集群用逗号分割,此处不要写域名,也不要使用127.0.0.1,使用机器的实际ip,否则api-server连接会有问题,2379是etcd的默认端口。
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.56.4:2379" # 此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名。

2.2 修改api-server的配置文件

vi /etc/kubernetes/apiserver

修改如下内容

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" # 监听地址,改成0.0.0.0,监听所有接口
KUBE_API_PORT="--port=8080" #监听的端口,默认8080,酌情修改
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.56.4:2379" #etcd的地址,不要使用127.0.0.1
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" # 删掉value中的serviceAccount,serviceAccount与证书有关,此次安装先不配置证书,所以要先删掉

2.3 启动 etcd ,api-server,controller-manager,scheduler

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done

2.4 在etcd中定义flannel网络

etcdctl mk /http://atomic.io/network/config '{"Network":"172.17.0.0/16"}'

此次安装集群的网络使用flannel实现

至此,master的安装完成


3. 在node节点上安装

下面的操作需要在两个node节点上完成

安装flannel和kubenates-node

yum -y install flannel kubernetes-node

3.1 修改/etc/sysconfig/flanneld配置文件

修改内容如下

FLANNEL_ETCD_ENDPOINTS="http://192.168.56.4:2379" #etcd的url
FLANNEL_ETCD_PREFIX="/http://atomic.io/network" # etcd中定义的网络的key,在2.4节定义,注意,我们在2.4节定义的是/http://atomic.io/network/config,此处不要写config

3.2 修改/etc/kubernetes/config配置文件

修改内容如下

KUBE_MASTER="--master=http://192.158.56.4:8080" # master的url

3.3 修改/etc/kubernetes/kubelet

修改内容如下

KUBELET_ADDRESS="--address=0.0.0.0" # 监听所有接口
KUBELET_HOSTNAME="--hostname-override=192.168.56.2" # kubelet name,配置成本机的ip,(此处应该只是用来展示用,应该没有其他的实际作用,这只是猜测,没有验证)
KUBELET_API_SERVER="--api-servers=http://192.168.56.4:8080" # api-server的url

3.4 启动 kube-proxy,kubelet,docker,flannel

for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done

至此node节点也安装完成


4. 验证

在master节点上执行命令

kubectl get nodes

看到以下结果,说明安装成功



5. 后记

在安装node节点的时候,出现了kubelet启动失败的情况 报错204/MEMORY, 开始还以为是内存不够了,但是几个虚机的配置都一样,应该不会是内存不够问题,查阅资料说是要关闭swap,否则kubelet会有错误,关闭了swap还是不好用,这次安装其他节点并没有关闭swap,也没有出问题。关于swap的问题,如果后面出问题再修改。最后重装了kubelet,问题jiejue。

这次安装是最简单的安装方式,没有安装证书,etcd和master都是单点。后面会继续完善。

上一篇:SDS检测报告

下一篇:K8S环境安装

锅炉资讯

锅炉资讯

锅炉学习

锅炉学习

锅炉视频

锅炉视频

锅炉百科

锅炉百科