当前位置:首页 > 技术分析 > 正文内容

K8s新增Node

前置说明:

1.192.168.214.50 是k8s master的ip 地址

2.192.168.214.123为新增节点机的ip 地址

3.节点机需要安装的组件有:docker,flannel,kubelet,kube-proxy


一、在节点机上安装docker-ce

1、先关闭防火墙systemctl stop firewalld.service&&systemctl disable firewalld.service

2、安装yum install -y docker-ce

3、拷贝master 50机上的/opt/test/service/* 到新节点机的/usr/lib/systemd/system/下

4、systemctl restart docker.service&&systemctl enable docker.service


二、在节点机上安装flannel

yum install flannel -y

yum install -y socat fuse fuse-libs nfs-utils nfs-utils-lib pciutils ebtables ethtool

sed -i '/net.bridge.bridge-nf-call-iptables/d' /usr/lib/sysctl.d/00-system.conf

sed -i '/net.bridge.bridge-nf-call-ip6tables/d' /usr/lib/sysctl.d/00-system.conf

sed -i '$a net.bridge.bridge-nf-call-iptables = 1' /usr/lib/sysctl.d/00-system.conf

sed -i '$a net.bridge.bridge-nf-call-ip6tables = 1' /usr/lib/sysctl.d/00-system.conf

sysctl --system

[ -f /proc/sys/fs/may_detach_mounts ] && sed -i "/fs.may_detach_mounts/ d" /etc/sysctl.conf

[ -f /proc/sys/fs/may_detach_mounts ] && echo "fs.may_detach_mounts=1" >> /etc/sysctl.conf

sysctl -p


vim /etc/sysconfig/flanneld //做如下配置的修改

【FLANNEL_ETCD_ENDPOINTS="http://192.168.214.50:2379" #配置etcd 的ip:port FLANNEL_ETCD_PREFIX="/kube-centos/network"】


touch /run/flannel/docker #不存在时,创建此文件后会自动写入内容

[root@localhost ~]# more /run/flannel/docker DOCKER_OPT_BIP="--bip=172.50.80.1/24" DOCKER_OPT_IPMASQ="--ip-masq=true" DOCKER_OPT_MTU="--mtu=1450" DOCKER_NETWORK_OPTIONS=" --bip=172.50.80.1/24 --ip-masq=true --mtu=1450"

启动Flannel

systemctl start flanneld.service

systemctl enable flanneld.service


三、在节点机上安装kubelet及kube-proxy

1、拷贝master 50机上的/opt/test/bin/* 到新节点机的/opt/kubernetes/bin/下,没有可以新建目录

2、拷贝master 50机上的/opt/test/bin/kubernetes-ssl.tar.gz 到新节点机的/etc/下 tar -xzvf kubernetes-ssl.tar.gz解压

3、修改vi /usr/lib/systemd/system/kubelet.service文件--address=192.168.214.123和--hostname-override=192.168.214.123地址为新节点机ip地址

4、修改vi /usr/lib/systemd/system/kube-proxy.service文件--bind-address=192.168.214.123和--hostname-override=192.168.214.123地址为新节点机ip地址

5、mkdir -p /var/lib/kubelet&&mkdir -p /var/lib/kube-proxy新建目录

6、systemctl restart kubelet.service&&systemctl enable kubelet.service启动kubelet

7、systemctl restart kube-proxy.service&&systemctl enable kube-proxy.service启动kube-proxy


四、在master管理机上检查node状态

1、master 50上kubectl get nodes查看新节点机是否加入集群且Ready状态


五、注意事项:

1.如果node加到集群是notready状态时,看下node上的kubelet服务是否有如下报错,如果有就reboot重启node就好了

kubelet_node_status.go:682] Node became not ready: {Type:Ready Status:False LastHeartbeatTime:2018-12-13 12:44:06.85329074 +0800 CST LastTransitionTime:2018-12-13 12:44:06.85329074 +0800 CST Reason:KubeletNotReady Message:Failed to start ContainerManager failed to initialise top level QOS containers: failed to create top level Burstable QOS cgroup : Unit kubepods-burstable.slice already exists.,container runtime is down}


2.节点机如果一直是notReady 状态,报错内容是: Failed to start ContainerManager failed to initialise top level QOS containers: root container /kubepods doesn't exist

需要重启节点,即可状态正常,如下截图所示:

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4546.html

标签: n node
分享给朋友:

“K8s新增Node” 的相关文章

gitlab常用命令大全

GitLab常用命令大全GitLab是一个基于Git的Web平台,它不仅提供代码托管,还集成了持续集成/持续交付(CI/CD)、代码审查、问题追踪等功能。在日常使用GitLab的过程中,我们常常需要使用一系列命令来管理代码仓库、处理分支和标签等。以下是GitLab常用的Git命令大全,并附上详细解释...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

vue-router是如何解析query参数呢? #前端

vue-router 中的 query 解析。1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的角度来看如何解析传递的快乐参数。2. 基础知识大家应知道,快乐参数结构如:a、b、c、a、b、c、a...

一文让你彻底搞懂 vue-Router

路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动。本质上就是一种对应关系。分为前端路由和后端路由。后端路由:URL 的请求地址与服务器上的资源对应,根据不同的请求地址返回不同的资源。前端路由:在单页面应用中,根据用户触发的事件,改变URL在不刷新页面的前提下,改变显示内容...

Vue2的16种传参通信方式

前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父子双向)ref$children与$parent$attrs与$listeners (爷孙双向)pr...

vue打开新窗口并且实现传参,有图有真相

我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页。通过面向百度编程,发现网上的根本达不到这个效果,而且还都是坑,明明实现不了,还若有其事的写出来,于是我在标...