首页 > 系统相关 >ubuntu 20.04使用kubeadm安装k8s集群

ubuntu 20.04使用kubeadm安装k8s集群

时间:2022-11-24 17:44:44浏览次数:72  
标签:-- apt sh https ubuntu kubeadm k8s docker

本文主要用于记录,步骤参考了:https://blog.csdn.net/weixin_44559544/article/details/123381441

一、设备相关准备

  1、修改节点主机名,这样好区分

    我总共是三台设备:

    分别设置为:hostnamectl --static set-hostname k8s-master 192.168.100.1

          hostnamectl --static set-hostname k8s-node1  192.168.100.2

          hostnamectl --static set-hostname k8s-node2  192.168.100.3

  建议所有命令使用root权限。

  2、禁止 swap 分区,一定要设置,最好临时和永久同时设置。以下操作三台设备都需要进行设置。

    临时关闭: swapoff -a

    永久关闭:vim /etc/fstab 

    

 

  3、关闭防火墙,三台设备都需要关闭,新手建议直接关闭

    ufw disable

二、安装docker

  1、经过验证本次推荐一种,需要其他的可以参考其他,例如:菜鸟教程

    一键安装最新阿里云docker-ce脚本,三台设备都要执行:

    找一个自己喜欢的目录(相关的安装sh脚本放置到该目录下):mkdir -p /opt/installSh   

    进入创建的目录:cd /opt/installSh

            vim docker.sh

      复制写入

          

#!/bin/bash
apt update
apt install -y apt-transport-https ca-certificates curl gnupg-agent  software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
apt update
apt install -y docker-ce docker-ce-cli containerd.io
docker version

      给文件赋权限:chmod 777 docker.sh

      执行安装:sh docker.sh

      等待安装完成

  2、配置docker-hub源

    要是用国内的,基本上是失败。

    vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://ustc-edu-cn.mirror.aliyuncs.com",
    "https://ghcr.io",
    "https://mirror.baidubce.com"
  ]
}

  3、修改一下docker.service。提前配置,避免后期踩坑,我可是经过实验的

    找到文件:vim /usr/lib/systemd/system/docker.service

    

 

 

     添加选中的这一段,不添加再安装k8s master节点的时候拉去镜像会出问题

    --exec-opt native.cgroupdriver=systemd

    然后记得要重启docker服务:systemctl restart docker

三、安装指定版本的kubeadm

  同样三台设备都要执行哈!

  进入我们放置sh脚本的目录:cd /opt/installSh

    新建kubeadm.sh文件:vim kubeadm.sh

#!/bin/bash
apt update && apt install apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
apt-get update
apt-cache madison kubelet kubectl kubeadm |grep '1.22.7-00' 
apt install -y kubelet=1.22.7-00 kubectl=1.22.7-00 kubeadm=1.22.7-00

    给脚本赋权限:chmod 777 kubeadm.sh

    执行安装脚本:sh kubeadm.sh

  这里没有多大的意外!

  配置禁用 swap

  vim /etc/default/kubelet

  KUBELET_EXTRA_ARGS="--fail-swap-on=false"

  重启服务:

    systemctl daemon-reload && systemctl restart kubelet

四、初始化集群

  1、master节点:

    a、初始化节点

kubeadm init \
  --kubernetes-version=v1.22.7 \
  --image-repository registry.aliyuncs.com/google_containers \
  --pod-network-cidr=10.24.0.0/16 \
  --ignore-preflight-errors=Swap

    成功后会打印出类似下面的输出,要保存起来

    类似下图,这个是我截图别人的

    

 

     b、配置kubectl工具,不进行以上设置,你会发现用不了

      mkdir -p $HOME/.kube

      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

      sudo chown $(id -u):$(id -g) $HOME/.kube/config

    c、部署集群网络

      这里使用calico v3.22,支持1.21 1.22 1.23版本k8s

      找一个自己喜欢的目录:cd /opt

        下载一下yaml文件:curl https://projectcalico.docs.tigera.io/manifests/calico.yaml -O

        进行部署:kubectl apply -f calico.yaml

  2、node1和node2节点

    在这两台设备上分别执行,刚刚让保存的命令:

    

    就是画起来的这个:

     kubeadm join 192.168.1.21:6443 --token xcczbg.zr6mb4dzlu6wdg6r \

      --discovery-token-ca-cert-hash sha256:3594158e202d0280512f8a3bab2de144b601fb3c7f928dcebc2556a55d673ff0(不要直接复制,这里是给你列举一下,你要复制自己的,进行执行)

五、查看节点是否部署成功

  在任意一个设备,建议master节点执行:kubectl get node

  

 

  至此部署完成,这个ready状态,不要着急,你要等一会!

 

        

      

 

标签:--,apt,sh,https,ubuntu,kubeadm,k8s,docker
From: https://www.cnblogs.com/xiaoyuzai09/p/16922661.html

相关文章

  • K8S学习记录
    kubelet在启动之后会一直闪烁运行;systemctlstatuskubelet之后,会发现有时候runnning有时候退出,属于一直闪烁。(尚硅谷P34视频最后)systemctl命令 ctl表示controller。......
  • Kubernetes(K8S) 介绍
    MasterApiServer统一入口,以Restful方式,交给etcd存储Scheduler节点调试,选择Node节点,做应用部署ControllerManager处理集群中常规后台任务,一个资源对应......
  • ubuntu 使用入门
    我使用的版本是20.04.1,经验与大家分享:1.安装时subnet设置:192.168.x.0/24   x为你的网关对应值,这只是最常见设置,其它情况未知2.安装完成后需要设置root密码......
  • ubuntu等debian系linux系统添加人脸识别howdy
    准备proxychainsproxychains是用来给终端走代理的软件,因为下载howdy的时候有一部分的文件的服务器在国外,且被墙了。安装proxychainssudoaptinstallproxychains配......
  • kube-prometheus监控k8s组件
    下载gitclone-brelease-0.7https://github.com/prometheus-operator/kube-prometheus.git安装cdkube-prometheus/manifestskubectlcreate-fsetup/kubect......
  • win10本机docker搭建ubuntu虚拟环境并ssh
    https://zhuanlan.zhihu.com/p/59548929https://www.jianshu.com/p/94a0a95c9a2cubuntu安装go:aptinstallgolang-go......
  • 工作时如何高效地无缝同时使用windows和ubuntu linux进行工作?
    背景:近期需要使用ubuntulinux编译调试工程代码,但是又需要记录调试过程及原理公式以及使用到一些只有windows平台的软件。然后就出现了两台电脑来回切换的问题。对于两台电......
  • k8s源码分析5-createCmd中的设计模式
    1、设计模式之建造者模式建造者(Builder)模式:指将一个复杂对象的构造与它的表示分离使同样的构建过程可以创建不同的对象,这样的设计模式被称为建造者模式它是将一个复杂......
  • 双系统 win10+Ubuntu18+Linux系统维护
    文章目录​​一.Ubuntu的安装​​​​1.1Ubuntu独立安装​​​​1.1.1制作Ubuntu启动U盘​​​​1.1.2win10系统安装双系统Ubuntu​​​​a.开辟Ubuntu系统空间​​​......
  • Prometheus Operator与kube-prometheus之二-如何监控1.23+ kubeadm集群
    简介系列文章:​​标签-Prometheus-东风微鸣技术博客(ewhisper.cn)​​PrometheusOperator的上一篇:​​PrometheusOperator与kube-prometheus之一-简介-......