本文主要用于记录,步骤参考了: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状态,不要着急,你要等一会!

        

      

ubuntu 20.04使用kubeadm安装k8s集群的更多相关文章

  1. 使用kubeadm安装k8s集群故障处理三则

    最近在作安装k8s集群,测试了几种方法,最终觉得用kubeadm应该最规范. 限于公司特别的网络情况,其安装比网上不能访问google的情况还要艰难. 慢慢积累经验吧. 今天遇到的三则故障记下来作参考 ...

  2. 使用 --image-repository 解决kubeadm 安装k8s 集群 谷歌镜像墙的问题

    从网上我们看到的好多kubeadm 安装k8s 的时候都说需要下拉取镜像,然后修改,实际上 我们可以使用配置参数,快速的跳过墙的问题 说明: 基础镜像,我们仍然存在,拉取的问题,但是dockerhub ...

  3. centos7下用kubeadm安装k8s集群并使用ipvs做高可用方案

    1.准备 1.1系统配置 在安装之前,需要先做如下准备.三台CentOS主机如下: 配置yum源(使用腾讯云的) 替换之前先备份旧配置 mv /etc/yum.repos.d/CentOS-Base. ...

  4. kubeadm安装k8s集群

    安装kubeadm kubectl kubelet 对于Ubuntu/debian系统,添加阿里云k8s仓库key,非root用户需要加sudo apt-get update && a ...

  5. k8s学习笔记之二:使用kubeadm安装k8s集群

    一.集群环境信息及安装前准备 部署前操作(集群内所有主机): .关闭防火墙,关闭selinux(生产环境按需关闭或打开) .同步服务器时间,选择公网ntpd服务器或者自建ntpd服务器 .关闭swap ...

  6. Ubuntu 14.04主机上部署k8s集群

    部署结构 3台虚拟机,其中1台作为master,2台作为minion,都安装了最新版本的docker engine(目前是1.11.2) k8s版本是1.3.0 主要问题 部署步骤基本按照官方文档:h ...

  7. Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记

    目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token ...

  8. Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)

    背景: 由于工作发生了一些变动,很长时间没有写博客了. 概述: 这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别).使用了Centos 7系统. 一.Centos7 ...

  9. kubernetes教程第一章-kubeadm高可用安装k8s集群

    目录 Kubeadm高可用安装k8s集群 kubeadm高可用安装1.18基本说明 k8s高可用架构解析 kubeadm基本环境配置 kubeadm基本组件安装 kubeadm集群初始化 高可用Mas ...

  10. kubeadm搭建K8s集群及Pod初体验

    基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...

随机推荐

  1. javaEE(单元测试、反射、动态代理、xml)

    单元测试 最小的功能单元编写测试代码,java针对方法,检查方法的正确性 JUnit单元测试框架 @Test注解 public class A { @Test public void a(){ ... ...

  2. vue3.0+echart可视化

    vue3.0 + echart可视化 案例1: 案例代码 <template> <div ref="test" style="width:800px;h ...

  3. pip和pipenv简记

    一. pip篇 1. 配置文件换源 windows:C:\Users\Administrator\pip\pip.ini mac:~/pip/pip.conf [global] index-url = ...

  4. 如何在VC++ 6.0中实现拖动指令改变执行路径?

    前文提要: 在VC6.0之后出现的VS系列开发工具都具有的调试功能:移动指针更改执行流,VC6不支持这个UI操作. 调试程序暂停时,源代码或"反汇编"窗口边距处的黄色箭头标记要运行 ...

  5. 前瞻性研究: axSpA中轴放射学进展延缓得益于TNF抑制剂持续治疗3年

    西班牙学者近期发表的这项前瞻性研究是基于axSpA患者注册登记数据库,患者登记入库后,继续治疗和评估3年[1]. 患者分为2组,组1有46例,在登记入库时已经在用肿瘤坏死因子抑制剂(TNFi)且已治疗 ...

  6. .net mvc 权限验证 Filter(过滤器)

    一.知识了解 Asp.Net MVC提供了以下几种默认的Filter: 大家注意一点,Asp.Net MVC提供的ActionFilterAttribute默认实现了IActionFilter和IRe ...

  7. 深入理解计算机系统(CSAPP)bomblab实验进阶之nuclearlab——详细题解

    前言 本实验是难度高于bomblab的一个补充实验,该实验部分题目难度已经达到CTF入门水平,且这个实验据说是上一届的某个学长原创,因此互联网上几乎找不到类似的题目.在间断地思考了几周后我最终完成了所 ...

  8. 转码服务serverless探索

    背景 公司目前主要聚焦于视频这个领域,利用视频为媒体.文旅.会议等行业进行赋能. 既然聚焦于视频领域,那么视频转码则是绕不开的话题. 为了降低成本,以及保证产品的核心能力,公司自建了一套转码系统. 转 ...

  9. [NepCTF2022]signin

    signin 题目 from Crypto.Util.number import getStrongPrime,bytes_to_long from gmpy2 import powmod,is_pr ...

  10. Docker-Compose 管理镜像和容器(2)

    一.前言 上一文章中介绍了Docker部署ASP.NET Core 项目,如何构建镜像和运行容器,但是每次代码更新还需要重复的工作,本文介绍Docker-Compose一个指令重新构建镜像和运行容器. ...