1. 新节点初始化 安装docker kubelet kubeadm(指定版本)
  2. #先查看当前集群docker版本
  3. [root@lecode-k8s-master manifests]# docker version
  4. Client: Docker Engine - Community
  5. Version: 20.10.14
  6. API version: 1.39
  7. Go version: go1.16.15
  8. Git commit: a224086
  9. Built: Thu Mar 24 01:49:57 2022
  10. OS/Arch: linux/amd64
  11. Context: default
  12. Experimental: true
  13. Server: Docker Engine - Community
  14. Engine:
  15. Version: 18.09.9
  16. API version: 1.39 (minimum version 1.12)
  17. Go version: go1.11.13
  18. Git commit: 039a7df
  19. Built: Wed Sep 4 16:22:32 2019
  20. OS/Arch: linux/amd64
  21. Experimental: false
  22. #可以看到这里版本是20.10.14,新节点安装相同版本docker
  23. [root@lecode-dev123 ~]# yum install docker-ce-20.10.14-3.el7 -y
  24. #启动docker
  25. systemctl enable docker && systemctl start docker
  26. #配置镜像下载加速器
  27. [root@lecode-dev123 ~]# cat /etc/docker/daemon.json
  28. {"insecure-registries": ["36.133.91.100:8090"],
  29. "registry-mirrors": ["http://hub-mirror.c.163.com", "http://f1361db2.m.daocloud.io"],
  30. "data-root": "/data/docker",
  31. "exec-opts": ["native.cgroupdriver=systemd"],
  32. "log-driver": "json-file",
  33. "log-opts": { "max-size": "100m"
  34. },
  35. "storage-driver": "overlay2"
  36. }
  37. #重启docker
  38. systemctl daemon-reload
  39. systemctl restart docker
  40. docker info
  41. #添加K8S源
  42. cat > /etc/yum.repos.d/kubernetes.repo << EOF
  43. [kubernetes]
  44. name=Kubernetes
  45. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
  46. enabled=1
  47. gpgcheck=0
  48. repo_gpgcheck=0
  49. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  50. EOF
  51. #安装kubeadm kubelet,注意版本,在集群使用kubectl version查看版本,指定相同版本新节点安装
  52. yum install -y kubelet-1.16.0 kubeadm-1.16.0
  53. systemctl enable kubelet
  54. #在master节点查询加入节点的命令
  55. [root@lecode-k8s-master manifests]# kubeadm token create --print-join-command
  56. kubeadm join 192.168.1.11:6443 --token sqo8w7.s8plezzr9py2opcf --discovery-token-ca-cert-hash sha256:b7465ee6c96240b9063a090b1c66be5264f06a38e3ac7dc1e428b4d62fce54ef
  57. #新节点加入集群
  58. [root@lecode-dev123 ~]# kubeadm join 192.168.1.11:6443 --token sqo8w7.s8plezzr9py2opcf --discovery-token-ca-cert-hash sha256:b7465ee6c96240b9063a090b1c66be5264f06a38e3ac7dc1e428b4d62fce54ef
  59. [preflight] Running pre-flight checks
  60. [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 20.10.14. Latest validated version: 18.09
  61. [WARNING Hostname]: hostname "lecode-dev123" could not be reached
  62. [WARNING Hostname]: hostname "lecode-dev123": lookup lecode-dev123 on 211.136.17.107:53: no such host
  63. [preflight] Reading configuration from the cluster...
  64. [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
  65. [kubelet-start] Downloading configuration for the kubelet from the "kubelet-config-1.16" ConfigMap in the kube-system namespace
  66. [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
  67. [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
  68. [kubelet-start] Activating the kubelet service
  69. [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
  70. This node has joined the cluster:
  71. * Certificate signing request was sent to apiserver and a response was received.
  72. * The Kubelet was informed of the new secure connection details.
  73. Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
  74. #查看集群信息
  75. [root@lecode-k8s-master manifests]# kubectl get node
  76. NAME STATUS ROLES AGE VERSION
  77. k8s-master Ready master 209d v1.16.0
  78. lecode-dev-001 Ready <none> 208d v1.16.0
  79. lecode-dev-002 Ready <none> 208d v1.16.0
  80. lecode-dev123 NotReady <none> 7s v1.16.0
  81. lecode-test-001 Ready <none> 208d v1.16.0
  82. lecode-test-002 Ready <none> 208d v1.16.0
  83. #等待网络插件安装
  84. [root@lecode-k8s-master project-dep-yaml]# kubectl get node
  85. NAME STATUS ROLES AGE VERSION
  86. k8s-master Ready master 209d v1.16.0
  87. lecode-dev-001 Ready <none> 208d v1.16.0
  88. lecode-dev-002 Ready <none> 208d v1.16.0
  89. lecode-dev123 Ready <none> 2m39s v1.16.0
  90. lecode-test-001 Ready <none> 208d v1.16.0
  91. lecode-test-002 Ready <none> 208d v1.16.0

记录一次新节点加入K8S集群的更多相关文章

  1. 记录一个奇葩的问题:k8s集群中master节点上部署一个单节点的nacos,导致master节点状态不在线

    情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节 ...

  2. 【K8S】基于单Master节点安装K8S集群

    写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8 ...

  3. 使用KubeOperator扩展k8s集群的worker节点

    官方文档网址:https://kubeoperator.io/docs/installation/install/ 背景说明 原先是一个三节点的k8s集群,一个master,三个woker(maste ...

  4. 搭建K8S集群

    一.前言 我们将现有的虚拟机称之为Node1,用作主节点.为了减少工作量,在Node1安装Kubernetes后,我们利用VirtualBox的虚拟机复制功能,复制出两个完全一样的虚拟机作为工作节点. ...

  5. 通过kubeadm工具部署k8s集群

    1.概述 kubeadm是一工具箱,通过kubeadm工具,可以快速的创建一个最小的.可用的,并且符合最佳实践的k8s集群. 本文档介绍如何通过kubeadm工具快速部署一个k8s集群. 2.主机规划 ...

  6. K8S 使用Kubeadm搭建高可用Kubernetes(K8S)集群 - 证书有效期100年

    1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. ...

  7. 教你用multipass快速搭建k8s集群

    目录 前言 一.multipass快速入门 安装 使用 二.使用multipass搭建k8s集群 创建3台虚拟机 安装master节点 安装node节点 测试k8s集群 三.其他问题 不能拉取镜像:报 ...

  8. 使用kind快速搭建本地k8s集群

    Kind是什么? k8s集群的组成比较复杂,如果纯手工部署的话易出错且时间成本高.而本文介绍的Kind工具,能够快速的建立起可用的k8s集群,降低初学者的学习门槛. Kind是Kubernetes I ...

  9. 使用虚拟机在3台centos7系统安装docker和k8s集群

    一.安装docker 环境:准备3台centos7系统,都安装上docker环境,具体安装步骤和流程如下 参考: https://docs.docker.com/install/linux/docke ...

  10. k8s集群节点更换ip 或者 k8s集群添加新节点

    1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说:同时,k8s集群节点更换ip也相当于k8s集群添加新节点 ...

随机推荐

  1. Markdown Support

    Markdown 支持一览 Markdown 支持一览 身正不怕影子斜 我实在没有说过这样一句话 -- 鲁迅 古代文学史发展脉络 唐诗 宋词 元曲 冯·诺依曼结构 运算器 控制器 存储器 输入输出设备 ...

  2. 基于 PyTorch 和神经网络给 GirlFriend 制作漫画风头像

    摘要:本文中我们介绍的 AnimeGAN 就是 GitHub 上一款爆火的二次元漫画风格迁移工具,可以实现快速的动画风格迁移. 本文分享自华为云社区<AnimeGANv2 照片动漫化:如何基于 ...

  3. Kubernetes Operator: Operator

    Operator 就可以看成是 CRD 和 Controller 的一种组合特例,Operator 是一种思想,它结合了特定领域知识并通过 CRD 机制扩展了 Kubernetes API 资源,使用 ...

  4. 一条命令查看docker容器的ip地址

    docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/container_name

  5. 第六章:Django 综合篇 - 6:会话session

    因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的.通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于静 ...

  6. Service中spec.type 字段的值:ClusterIP和NodePort理解

    ClusterIP(默认) 在群集中的内部IP上公布服务,这种方式的 Service(服务)只在集群内部可以访问到 [root@master ~]# kubectl get service -n te ...

  7. PTA 520钻石争霸赛 2021

    7-1 自动编程 签到题 #include<bits/stdc++.h> typedef long long ll; const int maxm = 1e5 + 5; const int ...

  8. POJ2823 滑动窗口 (单调队列)

    来学习一下单调队列: 他只可以从队尾入队,但可以从队尾或队首出队,来维护队列的单调性.单调队列有两种单调性:元素的值单调和元素的下标单调. 单调队列可以用来优化DP.状态转移方程形如dp[i]=min ...

  9. RAID5 IO处理之replace代码详解

    1 作用 从字面意思理解,replacement即是替换.我们知道硬盘都有一定的使用寿命,可以在硬盘失效之前通过该功能将就盘的数据迁移至新盘.因为replacement的流程是从旧盘中读出数据直接写入 ...

  10. 使用ssm框架搭建的图书管理系统

    等下贴代码 学生图书管理系统 实现的功能: 1.图书信息查询(暂时未分页处理) 2.图书信息修改(点击保存按钮后返回修改后的图书信息界面) 3.删除一本图书(删除某一本书籍,在图书管理界面则不存在该条 ...