k8s node节点部署(v1.13.10)

系统环境:

node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso

node节点 IP地址: 192.168.1.204

node节点 hostname(主机名, 请和保持node节点主机名 和master不同):k8s.node03

目标: 在该机器安装k8s node节点,并加入指定集群

步骤如下:

1. 安装基础工具

    

yum install vim
yum install lrzsz
yum install dockersystemctl start dockersystemctl enable docker

2. 检查node节点所在系统时间,若和master节点时间不同,请修改node节点和master节点保持一致(我这里时间和master基本一致,故不修改),修改时间的方式请 参考这里

[[email protected] ~]# date
Sun Oct 20 03:08:01 EDT 2019
[[email protected] ~]# 

3. 关闭防火墙, 如果是公网主机请设置网络安全组,开放必要端口

systemctl stop firewalld
systemctl disable firewalld

4. 关闭SELINUX

setenforce 0

编辑文件  vim /etc/selinux/config 如下

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

5. 创建k8s配置文件 /etc/sysctl.d/k8s.conf

cat <<EOF > /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1EOF

6. 执行以下命令使修改生效.

modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

7.添加k8s yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[k8s]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOFyum makecache

8.安装kubelet, kubectl kubeadm (指定版本号(1.13.1)安装时 这三个东西请按照以下顺序安装)

yum install -y kubelet-1.13.1
yum install kubectl-1.13.1
yum install kubeadm-1.13.1

9.检查已安装的kubelet kubectl kubeadm 版本号

[[email protected] ~]# yum list installed|grep kube
kubeadm.x86_64                      1.13.1-0                           @k8s
kubectl.x86_64                      1.13.1-0                           @k8s
kubelet.x86_64                      1.13.1-0                           @k8s
kubernetes-cni.x86_64               0.6.0-0                            @k8s 

10.拉取必要docker 镜像. 因为网络(需要梯子),如果node节点所在网络有梯子(可以直接访问到域名 k8s.gcr.io),那么这个步骤可以忽略。

10.1,我这里的master节点的这些基础docker 镜像的获取方式如下。当然这些命令可以在node节点重新执行一遍,为了节约下载镜像时间,我直接从master节点打包发送到node节点

docker pull docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1
docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1
docker pull docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1
docker pull docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.13.1
docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.13.1 k8s.gcr.io/kube-proxy:v1.13.1
docker pull docker.io/mirrorgooglecontainers/pause-amd64:3.1
docker tag docker.io/mirrorgooglecontainers/pause-amd64:3.1 k8s.gcr.io/pause:3.1
docker pull docker.io/mirrorgooglecontainers/etcd-amd64:3.2.24
docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.2.24 k8s.gcr.io/etcd:3.2.24
docker pull docker.io/coredns/coredns:1.2.6
docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6

10.2 , 【master节点】将master节点的所有必要docker 镜像保存成压缩包(如果你安装的不是1.13.1,那么save的时候这些tag请和 docker images 对照,切莫写错tag),并复制到node节点所在设备

docker save k8s.gcr.io/kube-proxy:v1.13.1 k8s.gcr.io/coredns:1.2.6 k8s.gcr.io/kube-controller-manager:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1 k8s.gcr.io/etcd:3.2.24 k8s.gcr.io/pause:3.1 -o k8s.1.13.1.tar
scp k8s.1.13.1.tar 192.168.1.204:~/

10.3 , 【node节点】从压缩包 恢复docker镜像

cd ~
docker load -i k8s.1.13.1.tar

11. 关闭 swap

swapoff -a && sed -i ‘/ swap / s/^/#/‘ /etc/fstab
echo "vm.swappiness=0">>/etc/sysctl.d/k8s.conf
sysctl -p /etc/sysctl.d/k8s.conf
echo ‘Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false"‘>>/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload
systemctl restart kubelet

12. 添加到集群

kubeadm join 192.168.1.201:6443 --token 6xnc86.n3ftiy9cu9wuyl5a --discovery-token-ca-cert-hash sha256:6dbcec4d2e20e8936e8d74714a194fa838cc6544f98bde41cd766b69b7a4fc12

13. 【master节点】检查该节点是否部署成功,可以看到k8s.node03已添加成功

[[email protected] ~]# kubectl get nodes
NAME                    STATUS   ROLES    AGE     VERSION
k8s.node01              Ready    <none>   6h27m   v1.13.1
k8s.node02              Ready    <none>   6h38m   v1.13.1
k8s.node03              Ready    <none>   61s     v1.13.1
localhost.localdomain   Ready    master   7h32m   v1.13.1

原文地址:https://www.cnblogs.com/tu13/p/centos_k8s_node.html

时间: 2024-08-30 15:49:35

k8s node节点部署(v1.13.10)的相关文章

手动安装K8s第六节:node节点部署-kubelet

部署kubelet1.准备二进制包[[email protected] ~]# cd /usr/local/src/kubernetes/server/bin/ [[email protected] bin]# scp kubelet kube-proxy k8snode1:/opt/kubernetes/bin/ [[email protected] bin]# scp kubelet kube-proxy k8snode2:/opt/kubernetes/bin/ 2.创建角色绑定[[ema

二进制安装kubernetes v1.11.2 (第十一章 node节点部署)

继续前一章部署. 十一.node节点部署 kubernetes node 节点运行了如下组件: flannel docker kubelet kube-proxy 11.1 部署flanneld 请参考 第五章 11.2 安装依赖包 centos: source /opt/k8s/bin/environment.sh for node_ip in ${NODE_IPS[@]} do echo ">>> ${node_ip}" ssh [email protected]

K8s多节点部署详细步骤,附UI界面的搭建

K8s多节点部署 需要准备的环境: 6台centos7设备:192.168.1.11 master01192.168.1.12 node1192.168.1.13 node2192.168.1.14 master02192.168.1.15 lb1192.168.1.16 lb2VIP:192.168.1.100 实验步骤: 1:自签ETCD证书 2:ETCD部署 3:Node安装docker 4:Flannel部署(先写入子网到etcd)---------master----------5:自

三 node节点部署k8s组件

接着第二篇,master上面部署完了三个角色,接着部署node节点主要部署:kubelet kube-proxy 一 环境准备(以下都是在master上操作) 1建立目录,拷贝两个组件 mkdir /home/yx/kubernetes/{bin,cfg,ssl} -p # 两个node节点都拷贝 scp -r /home/yx/src/kubernetes/server/bin/kubelet [email protected]:/home/yx/kubernetes/bin scp -r /

Kubernetes(K8s)安装部署过程(六)--node节点部署

hi,everybody,我回来了,之前安装到flannel之后,文章一直没有更新,甚至不少小伙伴都来加qq询问是否继续更新了, 这里说明下原因,我在部署1.91node的时候的确出现了各种各样的问题,导致节点启动后哦,master总是看不到,遇到的问题大概有 1.虚拟机时间同步不一致问题,导致etcd创建资源不成功 2.node节点无法自动创建kubelet.kubeconfig问题,这个是最严重的问题,原因是config文件没有拷贝到node的/etc/kubernetes文件夹内,因为ku

Kubernetes集群部署之五node节点部署

部署kubelet: 1.二进制包准备 将软件包可执行文件从k8s-master复制到node节点中去. [[email protected] ~]# cd /usr/local/src/kubernetes/server/bin [[email protected]-master bin]# scp kubelet kube-proxy 10.200.3.106:/opt/kubernetes/bin/ [[email protected]-master bin]# scp kubelet k

k8s node节点剔除与增加

节点增加 1. 在 master 节点,获取重新加入集群的 token kubeadm token create --print-join-command 2. 在 node 节点,安装 docker 环境,与之前部署 k8s 集群操作一致 3. 在 master 节点进行操作,排干 pod 所在的node节点( 拿 k8s-node04.bjyzxg.sjhl 举例 ) kubectl drain k8s-node04.bjyzxg.sjhl --delete-local-data --for

kubeadm 线上集群部署(二) k8s node 节点初始化安装

curl -s https://gitee.com/hewei8520/File/raw/master/1.13.5/lvm.sh |bash mkdir -p /data/kubelet ln -s /data/kubelet /var/lib/kubelet systemctl stop docker mv /var/lib/docker /data/ ln -s /data/docker /var/lib/docker systemctl restart docker # 除了将maste

k8s部署---node节点组件部署(四)

kubelet组件简介 kubernetes 是一个分布式的集群管理系统,在每个节点(node)上都要运行一个 worker 对容器进行生命周期的管理,这个 worker 程序就是 kubelet kubelet 的主要功能就是定时从某个地方获取节点上 pod/container 的期望状态(运行什么容器.运行的副本数量.网络或者存储如何配置等等),并调用对应的容器平台接口达到这个状态. kubelet组件特性 定时汇报当前节点的状态给 apiserver,以供调度的时候使用 镜像和容器的清理工