设为首页收藏本站language 语言切换
查看: 1422|回复: 2
收起左侧

[分享] 二进制安装kubernetes 1.24.1

[复制链接]
发表于 2022-6-15 18:03:06 | 显示全部楼层 |阅读模式
注意:前面有一篇二进制安装kubernetes 1.23.2 的文章,这里的内容和那篇里用的参数大部分是一样的,但是scheduler和kubelet的参数有所不同。
点击阅读二进制安装kubernetes 1.23.2
实验环境
两台机器,vms71和vms72
系统:centos7.4
vms71为master,vms72是worker
1.基本设置1.安装基本设置
所有节点设置好/etc/hosts,使它们之间能互相解析。
[root@vms7X ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.71 vms71.rhce.cc vms71
192.168.26.72 vms72.rhce.cc vms72
[root@vms7X ~]#
在所有节点上关闭swap分区。
[root@vms7X ~]# swapoff -a ; sed -i '/fstab/d' /etc/fstab
[root@vms7X ~]#
在所有节点上更新yum源。
[root@vms7X ~]#  rm -rf /etc/yum.repos.d/*  ; wget ftp://ftp.rhce.cc/k8s/* -P /etc/yum.repos.d/
[root@vms7X ~]# yum clean all
[root@vms7X ~]#

2.安装containerd
[color=rgba(0, 0, 0, 0.8)]在所有机器上安装containerd
[root@vms7X ~]# yum install  containerd.io cri-tools  -y
[root@vms7X ~]# crictl config runtime-endpoint unix:///var/run/containerd/containerd.sock
先生成配置文件/etc/containerd/config.toml。
[root@vms71 ~]# containerd config default > /etc/containerd/config.toml
使用vim编辑器打开/etc/containerd/config.toml。
第一:搜索mirrors,把
     [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[color=rgba(0, 0, 0, 0.8)]改成
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://frz7i079.mirror.aliyuncs.com"]
第二:搜索sandbox,把
sandbox_image = "k8s.gcr.io/pause:3.6"改成
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"
第三:搜索SystemdCgroup,把
          [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
            BinaryName = ""
            CriuImagePath = ""
            CriuPath = ""
            CriuWorkPath = ""
            IoGid = 0
            IoUid = 0
            NoNewKeyring = false
            NoPivotRoot = false
            Root = ""
            ShimCgroup = ""
            SystemdCgroup = false
改成(这里是删除了多余的行,并非是省略没写)
          [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
            SystemdCgroup = true

同步到vms72
[root@vms71 ~]# scp /etc/containerd/config.toml vms72:/etc/containerd/
root@vms72's password: config.toml            100% 7155     9.3MB/s   00:00   
[root@vms71 ~]#
在所有节点重启containerd,并设置开机自动启动。
systemctl enable containerd ;  systemctl restart containerd

3.加载模块及修改参数
在所有节点上加载模块
[root@vms7X ~]# modprobe overlay ; modprobe br_netfilter
在所有机器上执行下面的命令,目的是系统重启时模块能自动加载。
cat > /etc/modules-load.d/containerd.conf <<EOFoverlaybr_netfilterEOF

在所有机器上执行下面的命令,目的是实现重启系统后,参数也能继续生效。
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1EOF
让上述参数立即生效。
[root@vms7X ~]# sysctl -p /etc/sysctl.d/k8s.conf
[root@vms7X ~]#

4.安装nerdctl
到下面的连接下载最新版的nerdctl,本实验时最新版是0.20.0版本的。
https://github.com/containerd/nerdctl/releases

先在vms71上做,然后同步到vms72即可。
[root@vms71 ~]# tar zxf nerdctl-0.20.0-linux-amd64.tar.gz -C /usr/bin/ nerdctl
[root@vms71 ~]# scp /usr/bin/nerdctl vms72:/usr/bin/
root@vms72's password:
nerdctl         100%   25MB  88.5MB/s   00:00   
[root@vms71 ~]#

到下面的地址下载nerdctl所需要的cni插件
https://github.com/containernetworking/plugins/releases
先在vms71上做,然后同步到vms72即可。
[root@vms71 ~]# mkdir -p /opt/cni/bin/
[root@vms71 ~]# tar zxf cni-plugins-linux-amd64-v1.1.1.tgz -C /opt/cni/bin/
[root@vms71 ~]# scp -r /opt/cni/ vms72:/opt/
修改/etc/profile,在第二行添加如下两行内容
[root@vms71 ~]# head -3 /etc/profile
# /etc/profile
source <(nerdctl completion bash)
export CONTAINERD_NAMESPACE=k8s.io
[root@vms71 ~]#

让设置生效
[root@vms71 ~]# source /etc/profile
[root@vms71 ~]#

5.安装cfssl工具
自行下载最新版的cfssl工具放在/usr/local/bin里。
[root@vms71 ~]# cd /usr/local/bin/
[root@vms71 bin]# ls
cfssl-certinfo_linux-amd64  cfssljson_linux-amd64  cfssl_linux-amd64
[root@vms71 bin]#
[root@vms71 bin]#
[root@vms71 bin]# for i in * ; do n=${i%_*} ; mv $i $n; done ; chmod +x *
[root@vms71 bin]#
[root@vms71 bin]# lscfssl  cfssl-certinfo  cfssljson
[root@vms71 bin]# cd
[root@vms71 ~]#

2.配置k8s各组件所需要的证书
在kubernetes里涉及到很多TLS认证,所以需要做大量的证书,这里先归纳一下。

                               
登录/注册后可看大图

因为编辑有些麻烦,点击此处阅读原文


发表于 2022-7-18 13:39:06 | 显示全部楼层
veryver good
沙发 2022-7-18 13:39:06 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-3 19:53 , Processed in 0.068301 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表