centos中安装和配置k8s的master和node节点

centos7.7系统机器三台:1台master 2台 node
裸机不要安装docker,安装kubernetes会安装docker

Master安装
安装源
yum -y install epel-release
 
1:关闭防火墙及selinux
#systemctl stop firewalld # systemctl disable firewalld
#setenforce 0
#sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
2: 安装 master
   yum -y install etcd kubernetes
3:配置etcd。
#vim /etc/etcd/etcd.conf
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS=" http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS=" http://localhost:2379
说明
ETCD_NAME 节点名称
ETCD_DATA_DIR 数据目录
ETCD_LISTEN_PEER_URLS 集群通信监听地址
ETCD_LISTEN_CLIENT_URLS 客户端访问监听地址
ETCD_INITIAL_ADVERTISE_PEER_URLS 集群通告地址
ETCD_ADVERTISE_CLIENT_URLS 客户端通告地址
ETCD_INITIAL_CLUSTER 集群节点地址
ETCD_INITIAL_CLUSTER_TOKEN 集群Token
ETCD_INITIAL_CLUSTER_STATE 加入集群的当前状态,new是新集群,existing表示加入已有集群
4:配置k8s
vim /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet_port=10250"
KUBE_ETCD_SERVERS="--etcd_servers= http://127.0.0.1:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=“"
5:启动etcd,kube-apiserver, kube-controller-manager and kube-scheduler服务
注意的是服务启动顺序有依赖,先启动etcd,再启动apiserver,其他组件无顺序要求。
命令如下:
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; 
do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; 
done
----------------------
vim /usr/lib/systemd/system/etcd.service
systemctl daemon-reload
systemctl enable etcd.service
systemctl start etcd.service
6:安装 yum install flannel
在master、node上均执行如下命令,进行安装
yum install flannel
master、node上均编辑/etc/sysconfig/flanneld
# Flanneld configuration options
# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS=" http://172.28.128.4:2379"
# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/atomic.io/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
Master 机上,修改etcd的flannel网络
命令:etcdctl mk /atomic.io/network/config '{ "Network": "10.0.0.0/16" }' 
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16", "SubnetMin": "172.17.1.0", "SubnetMax": "172.17.254.0", "Backend":{"Type":"vxlan"}}'
上面配置文件中的FLANNEL_ETCD_PREFIX="/atomic.io/network" 要和 上面这条命令里的/atomic.io/network 保持一致
systemctl start flanneld && systemctl enable flanneld
systemctl status flanneld
启动Flannel之后,需要依次重启docker、kubernete
 

node安装
 
安装源
yum -y install epel-release
 
1:关闭防火墙及selinux
# systemctl stop firewalld # systemctl disable firewalld
#setenforce 0
#sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
2:安装组件
yum -y install flannel kubernetes-node
3:修改fannel网络指定etcd服务,修改 /etc/sysconfig/flanneld文件
关联到master
FLANNEL_ETCD_ENDPOINTS="http://XXX.XXX.XXX.XXX:2379",ip地址为master主机ip
FLANNEL_ETCD_PREFIX= "/atomic.io/network"
4: 修改:vi /etc/kubernetes/config文件
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRID="--allow-privileged=false"
KUBE_MASTER="--master=http://xxx.xxx.xxx.xxx:8080"#配置master主机的ip地址端口
5: 修改node机的kubelet配置文件/etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=0.0.0.0"#需要修改0.0.0.0
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME= "--hostname-override= xxx.xxx.xxx.xxx"  #当前node的ip地址
KUBELET_API_SERVER= "--api-servers= http://xxx.xxx.xxx.xxx:8080" #主机master的ip和端口
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""
6: node节点机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。
for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done

以上完成安装
在master主机上执行如下命令,查看运行的node节点机器: kubectl get nodes
能看到列表证明环境安装完毕
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wl02119

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值