从零开始基于Archlinux 安装 containerd + k8s

这篇具有很好参考价值的文章主要介绍了从零开始基于Archlinux 安装 containerd + k8s。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载ISO文件:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/

k8s: v1.26.4; calico: 3.25.1; dashboard:v2.7.0

目录
  • 1. 准备工作
  • 2. 磁盘管理
    • 2.1 磁盘分区
    • 2.2 磁盘格式化
    • 2.3 磁盘挂载
  • 3. 安装系统
    • 3.1 安装系统文件
    • 3.2 配置fstab
    • 3.3 配置系统
    • 3.4 安装引导程序
    • 3.5 安装OpenSSH
    • 3.6 主机名
    • 3.7 设置root密码
    • 3.8 网络配置
    • 3.9 重启系统,并从硬盘引导
    • 3.10 本地化配置
    • 3.11 时区配置
    • 3.12 硬件时间设置
    • 3.13 安装DNS服务
  • 4. 安装k8s
    • 4.1 配置containerd
    • 4.2 拉取k8s镜像
    • 4.3 创建k8s集群
    • 4.4 加入control-plane节点
    • 4.5 加入worker节点
    • 4.6 安装CNI:Calico
    • 4.7 安装Dashboard
    • 4.8 查看k8s集群
  • 附录
    • 包签名错误

1. 准备工作

以虚拟机VMWare为例。

使用EFI 非默认BIOS启动。如果不使用EFI,那么后续安装引导时也使用非EFI。

  • Controller-Panel节点(master)

    节点列表:

    hostname ip
    k8s-master1 10.0.2.101/24
    k8s-master2 10.0.2.102/24
    k8s-master3 10.0.2.103/24

    CPU设置:2Core

    内存设置:2GB

    磁盘:20GB

    网卡设置:网卡1(ens33)为自定义NAT

  • Worker节点

    节点列表:

    hostname ip
    k8s-worker1 10.0.2.111/24
    k8s-worker2 10.0.2.112/24
    k8s-worker3 10.0.2.113/24

    CPU设置:2Core

    内存设置:4GB

    磁盘:20GB

    网卡设置:网卡1(ens33)为自定义NAT

2. 磁盘管理

2.1 磁盘分区

使用GUID分区表,分2个区:

  • 1)EFI System(EF00),Last sector: +500M (500MB)

  • 2)Linux filesystem(8300) ,Last sector:<回车>(为剩余容量)

gdisk /dev/sda

2.2 磁盘格式化

mkfs.vfat -F32 /dev/sda1 # ESP分区 挂载 /boot
mkfs.ext4 /dev/sda2 # LFS分区 挂载 /

2.3 磁盘挂载

mount /dev/sda2 /mnt # 挂载root分区
mkdir /mnt/boot # 创建 /boot 目录
mount /dev/sda2 /mnt/boot # 挂载boot分区

lsblk # 查看分区挂载情况

3. 安装系统

3.1 安装系统文件

vim /etc/pacman.d/mirrorlist # 在顶部添加如下镜像服务器

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
# 安装系统
pacstrap /mnt base base-devel

3.2 配置fstab

genfstab -U /mnt > /mnt/etc/fstab # 生成分区挂载表

编辑 fstab

vim /mnt/etc/fstab
# SSD的追加options “discard,noatime”

3.3 配置系统

编辑 /mnt/etc/pacman.conf文件,加入下面的内容:

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
#Server = https://mirrors.aliyun.com/archlinuxcn/$arch

切换root目录到新系统

arch-chroot /mnt /bin/bash

现在可以全面升级系统:

pacman -Syy # 切换了root目录,因此需要重新更新软件包缓存
pacman -S archlinuxcn-keyring
pacman -S vim bash-completion yay fakeroot
ln -s /usr/bin/vim /usr/bin/vi

3.4 安装引导程序

# 安装linux内核
pacman -S linux-lts linux-firmware
# 安装 Micro Code
pacman -S amd-ucode # intel安装 intel-ucode
bootctl install # boot-loader

vim /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux-lts
initrd /amd-ucode.img # intel的为 /intel-ucode.img
initrd /initramfs-linux-lts.img
options root=/dev/sda2 rw

vim /boot/loader/entries/arch-fallback.conf
title Arch Linux (fallback initramfs)
linux /vmlinuz-linux-lts
initrd /amd-ucode.img # intel的为 /intel-ucode.img
initrd /initramfs-linux-lts-fallback.img
options root=/dev/sda2 rw

vim /boot/efi/loader/loader.conf
default arch.conf
timeout 2
console-mode max
editor no

# 验证文件路径是否正确
bootctl list
bootctl status

3.5 安装OpenSSH

pacman -S openssh

sed -i 's/#PermitRootLogin\ prohibit-passwd/PermitRootLogin yes/g' /etc/ssh/sshd_config

systemctl enable sshd

3.6 主机名

echo <host-name> > /etc/hostname

3.7 设置root密码

passwd

3.8 网络配置

使用 systemd-networkd

VMWare 网络配置:
NAT模式
网段:10.0.2.0/24
DHCP:10.0.2.200 - 10.0.2.254
网关:10.0.2.2 (不要设置为10.0.2.1,否则会导致无法访问外网)
vim /etc/systemd/network/20-wired.network
[Match]
Name=ens33

[Network]
#DHCP=ipv4 # 使用dhcp时启用
Address=10.0.2.101/24
Gateway=10.0.2.2
DNS=223.5.5.5
DNS=223.6.6.6
systemctl enable systemd-networkd
systemctl enable systemd-resolved

3.9 重启系统,并从硬盘引导

exit # 退出chroot
reboot # 重启后重新引导进入已安装的系统

3.10 本地化配置

vim /etc/locale.gen

en_US.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
locale-gen # 生成locale
echo 'LANG=en_US.UTF-8' > /etc/locale.conf # 设置默认的 locale

3.11 时区配置

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3.12 硬件时间设置

# date -s '2022-7-5 16:49:45'
hwclock --systohc --utc #采用UTC,将系统时间写入硬件时钟
# hwclock --hctosys --utc #采用UTC,将硬件时钟写入系统时间

3.13 安装DNS服务

pacman -S bind
# 参见: https://wiki.archlinux.org/title/BIND

4. 安装k8s

使用kubeadm安装: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

pacman -S kubeadm kubelet kubectl containerd
systemctl enable containerd
systemctl start containerd
systemctl enable kubelet
systemctl start kubelet

4.1 配置containerd

创建 /etc/modules-load.d/containerd.conf 配置文件:

cat << EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

修改 containerd 配置:

# 修改配置
mkdir -p /etc/containerd
if [ ! -f /etc/containerd/config.toml ]; then
    containerd config default > /etc/containerd/config.toml
fi

# 设置 systemd_cgroup 为 true
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sed -i 's/k8s.gcr.io/registry.aliyuncs.com\/google_containers/g' /etc/containerd/config.toml
sed -i 's/registry.k8s.io/registry.aliyuncs.com\/google_containers/g' /etc/containerd/config.toml

配置mirrors镜像:

vim /etc/containerd/config.toml
# 查找 [plugins."io.containerd.grpc.v1.cri".registry.mirrors],在其后添加如下:
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://docker.mirrors.ustc.edu.cn"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
          endpoint = ["https://registry.aliyuncs.com/google_containers"]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
          endpoint = ["https://registry.aliyuncs.com/google_containers"]

重启containerd,并检查状态:

systemctl restart containerd

# 确保containerd 的cgroup 为 SystemdCgroup
crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock info | grep SystemdCgroup | awk -F ': ' '{ print $2 }'
true

设置crictl别名:

echo 'alias docker="crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock"' > /etc/profile.d/containerd.sh
source /etc/profile.d/containerd.sh

4.2 拉取k8s镜像

通过参数 --image-repository 指定k8s镜像的仓库地址

kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version=v1.26.4

4.3 创建k8s集群

# 应搭建负载均衡后,使用负载均衡IP,此处用自建DNS服务来实现: 10.0.2.101 cluster.berkaroad.com

# 这个版本的kubelet,命令行参数 `--cni-bin-dir` 已经取消,因此需要拿掉此参数
sed -i 's/--cni-bin-dir=\/usr\/lib\/cni//g' /etc/kubernetes/kubelet.env

# 初始化k8s集群
kubeadm init  --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version=v1.26.4 --control-plane-endpoint=cluster.berkaroad.com --apiserver-advertise-address=10.0.2.101 --pod-network-cidr=10.100.0.0/16 --service-cidr=10.101.0.0/16 --service-dns-domain=cluster.berkaroad.com --upload-certs --v=5

# 执行成功后,根据提示,配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 注意:集群中时间必须保持一致,否则会加入集群失败,错误信息: x509: certificate has expired or is not yet valid: current time 2022-07-05T03:57:41+08:00 is before 2022-07-04T23:42:18Z

# You can now join any number of the control-plane node running the following command on each as root:
kubeadm join cluster.berkaroad.com:6443 --token v3e3b4.a52hqkbd1rlxgkun \
    --discovery-token-ca-cert-hash sha256:877bc4de6051c6aee8401bb99e6a3114f6d5a5fa7d87131c0b6377ce2419e5a3 \
    --control-plane --certificate-key 6b6050b43696814460032c521569377829e6bda6d39ac69e1d650d5bfdad1a44

# 如果 --certificate-key 过期了,执行如下:
kubeadm init phase upload-certs --upload-certs


# Then you can join any number of worker nodes by running the following on each as root:
kubeadm join cluster.berkaroad.com:6443 --token v3e3b4.a52hqkbd1rlxgkun \
    --discovery-token-ca-cert-hash sha256:877bc4de6051c6aee8401bb99e6a3114f6d5a5fa7d87131c0b6377ce2419e5a3

# 如果token过期了,可以执行如下:
kubeadm token create --print-join-command


# 如果失败,检查 cgroup 是否一致(docker或者containerd 和 kubelet)
# 查看 kubeadm 使用的 CRI 为 containerd 还是 docker
cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9"

# 查看 kubelet 的 cgroup driver
cat /var/lib/kubelet/config.yaml | grep cgroupDriver | awk -F ': ' '{ print $2 }'
systemd

4.4 加入control-plane节点

# 应搭建负载均衡后,使用负载均衡IP
echo '10.0.2.101 cluster.berkaroad.com' >> /etc/hosts

# 这个版本的kubelet,命令行参数 `--cni-bin-dir` 已经取消,因此需要拿掉此参数
sed -i 's/--cni-bin-dir=\/usr\/lib\/cni//g' /etc/kubernetes/kubelet.env


# 注意:集群中时间必须保持一致,否则会加入集群失败,错误信息: x509: certificate has expired or is not yet valid: current time 2022-07-05T03:57:41+08:00 is before 2022-07-04T23:42:18Z

# You can now join any number of the control-plane node running the following command on each as root:
kubeadm join cluster.berkaroad.com:6443 --token v3e3b4.a52hqkbd1rlxgkun \
    --discovery-token-ca-cert-hash sha256:877bc4de6051c6aee8401bb99e6a3114f6d5a5fa7d87131c0b6377ce2419e5a3 \
    --control-plane --certificate-key 6b6050b43696814460032c521569377829e6bda6d39ac69e1d650d5bfdad1a44

# 如果 --certificate-key 过期了,执行如下:
kubeadm init phase upload-certs --upload-certs

# 如果token过期了,可以执行如下:
kubeadm token create --print-join-command

# 执行成功后,根据提示,配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

4.5 加入worker节点

# 应搭建负载均衡后,使用负载均衡IP
echo '10.0.2.101 cluster.berkaroad.com' >> /etc/hosts

# 这个版本的kubelet,命令行参数 `--cni-bin-dir` 已经取消,因此需要拿掉此参数
sed -i 's/--cni-bin-dir=\/usr\/lib\/cni//g' /etc/kubernetes/kubelet.env


# 执行成功后,根据提示,配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 注意:集群中时间必须保持一致,否则会加入集群失败,错误信息: x509: certificate has expired or is not yet valid: current time 2022-07-05T03:57:41+08:00 is before 2022-07-04T23:42:18Z

# Then you can join any number of worker nodes by running the following on each as root:
kubeadm join cluster.berkaroad.com:6443 --token v3e3b4.a52hqkbd1rlxgkun \
    --discovery-token-ca-cert-hash sha256:877bc4de6051c6aee8401bb99e6a3114f6d5a5fa7d87131c0b6377ce2419e5a3

# 如果token过期了,可以执行如下:
kubeadm token create --print-join-command

4.6 安装CNI:Calico

kubectl apply -f https://projectcalico.docs.tigera.io/archive/v3.25/manifests/calico.yaml

4.7 安装Dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

新建 dashboard-admin.yaml

cat << EOF > dashboard-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: dashboard-admin
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin-cluster-role
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kubernetes-dashboard
EOF

kubectl apply -f dashboard-admin.yaml

新建 dashboard-admin-token.yaml

cat << EOF > dashboard-admin-token.yaml
apiVersion: v1
kind: Secret
metadata:
  annotations:
    kubernetes.io/service-account.name: dashboard-admin
  labels:
    k8s-app: kubernetes-dashboard
  name: dashboard-admin-token
  namespace: kubernetes-dashboard
type: kubernetes.io/service-account-token
EOF

kubectl apply -f dashboard-admin-token.yaml

获取登录用的token:

kubectl -n kubernetes-dashboard describe secret dashboard-admin-token | grep 'token:' | awk -F ' ' '{print $2}'

访问Dashboard:

# 方法一:开启proxy
kubectl proxy --address <本机ip> --port=8001 --accept-hosts='^*$'
# 打开浏览器,访问 http://<proxy的IP>:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

# 方法二:设置NodePort
kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort", "ports":[{"nodePort":30443, "port":443}]}}' -n kubernetes-dashboard
# 打开浏览器,访问 https://<node-ip>:30443/

4.8 查看k8s集群

节点信息:

kubectl get no -o wide
NAME          STATUS   ROLES           AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE     KERNEL-VERSION   CONTAINER-RUNTIME
k8s-master1   Ready    control-plane   23m   v1.26.3   10.0.2.101    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0
k8s-master2   Ready    control-plane   22m   v1.26.3   10.0.2.102    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0
k8s-master3   Ready    control-plane   22m   v1.26.3   10.0.2.103    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0
k8s-worker1   Ready    <none>          20m   v1.26.3   10.0.2.111    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0
k8s-worker2   Ready    <none>          18m   v1.26.3   10.0.2.112    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0
k8s-worker3   Ready    <none>          17m   v1.26.3   10.0.2.113    <none>        Arch Linux   6.1.25-1-lts     containerd://1.7.0

pod信息:

kubectl get po -n kube-system
calico-kube-controllers-57b57c56f-g62jv   1/1     Running   0                   120m
calico-node-2b5f9                         1/1     Running   0                   120m
calico-node-flbmt                         1/1     Running   0                   120m
calico-node-hwtvh                         1/1     Running   0                   120m
calico-node-j6dkp                         1/1     Running   0                   120m
calico-node-jqcfg                         1/1     Running   0                   120m
calico-node-lrq7q                         1/1     Running   0                   120m
coredns-5bbd96d687-fd9j7                  1/1     Running   0                   139m
coredns-5bbd96d687-kd48v                  1/1     Running   0                   139m
etcd-k8s-master1                          1/1     Running   0                   139m
etcd-k8s-master2                          1/1     Running   0                   139m
etcd-k8s-master3                          1/1     Running   0                   137m
kube-apiserver-k8s-master1                1/1     Running   0                   139m
kube-apiserver-k8s-master2                1/1     Running   0                   139m
kube-apiserver-k8s-master3                1/1     Running   0                   139m
kube-controller-manager-k8s-master1       1/1     Running   0                   139m
kube-controller-manager-k8s-master2       1/1     Running   0                   137m
kube-controller-manager-k8s-master3       1/1     Running   0                   136m
kube-proxy-6v7b9                          1/1     Running   0                   132m
kube-proxy-7dnmx                          1/1     Running   0                   136m
kube-proxy-c2cdd                          1/1     Running   0                   137m
kube-proxy-k4l4c                          1/1     Running   0                   134m
kube-proxy-rjw8j                          1/1     Running   0                   139m
kube-proxy-zrcvw                          1/1     Running   0                   137m
kube-scheduler-k8s-master1                1/1     Running   0                   139m
kube-scheduler-k8s-master2                1/1     Running   0                   139m
kube-scheduler-k8s-master3                1/1     Running   0                   139m


kubectl get po -n kubernetes-dashboard
NAME                                        READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-7bc864c59-flhzz   1/1     Running   0          13m
kubernetes-dashboard-6c7ccbcf87-8qgmg       1/1     Running   0          13m

附录

包签名错误

error: libcap: signature from "David Runge <dvzrv@archlinux.org>" is marginal trust
:: File /var/cache/pacman/pkg/libcap-2.65-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] Y
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.

更新pacman key证书文章来源地址https://www.toymoban.com/news/detail-426878.html

pacman -S gnupg
pacman -Sy archlinux-keyring
pacman-key --populate archlinux
pacman-key --refresh-keys
pacman -Syux

到了这里,关于从零开始基于Archlinux 安装 containerd + k8s的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 从零开始学习K8s系列——Kubernetes指南

    作者:禅与计算机程序设计艺术 Kubernetes(简称k8s)是一个开源的,用于自动部署、扩展和管理容器化的应用的平台。它主要提供四大功能,包括: 服务发现和负载均衡 :Kubernetes集群中的服务能够自动地寻找其他运行着的服务并进行负载均衡。 存储编排 :Kubernetes允许用户

    2024年02月06日
    浏览(32)
  • [kubernetes]二进制部署k8s集群-基于containerd

    k8s从1.24版本开始不再直接支持docker,但可以自行调整相关配置,实现1.24版本后的k8s还能调用docker。其实docker自身也是调用containerd,与其k8s通过docker再调用containerd,不如k8s直接调用containerd,以减少性能损耗。 除了containerd,比较流行的容器运行时还有podman,但是podman官方安装

    2024年02月12日
    浏览(19)
  • 【Kubernetes】k8s入门及使用(从零开始做实例)

    【Kubernetes】k8s入门及使用(从零开始做实例)

    1.1 选择安装方式 1.minikube 2.使用kubeadm 是k8s官方推荐的安装k8s的方式 (推荐) 3.二进制安装 4.第3方的部署工具: rancher等 今天我们选择比较具有实用性的kubeadm的方式进行k8s的安装和部署。 1.2 集群的架构 1.单master多node 2.多master多node ——高可用( 3个master 3个node 1台负载均衡(

    2024年02月04日
    浏览(10)
  • k8s containerd集群配置安装完整踩坑教程

    k8s containerd集群配置安装完整踩坑教程

    完整踩坑和精简内容 containerd安装参考 k8s安装参考 两台机器 系统 CentOS 7.9 1、关闭swap 2、网桥设置 3、ipvs设置 4、关闭防火墙 5、禁用selinux 6、添加源 在所有节点上执行 1、安装最新的kubectl kubelet kubeadm 2、安装containerd 安装 配置 重启 3、安装crictl 编写配置文件 下载镜像 mast

    2024年02月09日
    浏览(19)
  • Loki+Grafana(外)采集Kubernetes(K8s)集群(基于containerd)

    Loki+Grafana(外)采集Kubernetes(K8s)集群(基于containerd)

    1、简介 Loki是一个开源、分布式的日志聚合系统,由Grafana Labs推出。Loki的设计目标是为了高效地处理大规模的日志数据,并具有良好的可扩展性。Loki的最大优点是它具有低资源占用和高效的查询速度。这是因为Loki不需要在处理日志数据时进行索引,而是将数据存储在类似于

    2024年02月10日
    浏览(15)
  • Prometheus+Grafana(外)监控Kubernetes(K8s)集群(基于containerd)

    Prometheus+Grafana(外)监控Kubernetes(K8s)集群(基于containerd)

    1、k8s环境 版本 v1.26.5 二进制安装Kubernetes(K8s)集群(基于containerd)—从零安装教程(带证书) 主机名 IP 系统版本 安装服务 master01 10.10.10.21 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxy master02 10.10.10.22 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubel

    2024年02月16日
    浏览(53)
  • debian11 安装 k8s,containerd ,阿里云镜像(已成功)

    系统要求:至少 2GB RAM(建议 4GB 或更多),网络连接。 节点准备:至少 3 台机器,1 台作为 Master 节点,2 台作为 Worker 节点。 安装sudo 设置主机名(在每台机器上): 替换 主机名 为 k8s-master、k8s-node1、k8s-node2 配置 /etc/hosts(在所有节点上): 将所有节点的 IP 地址和主机名

    2024年02月21日
    浏览(10)
  • 基于containerd容器运行时,kubeadmin部署k8s 1.28集群

    基于containerd容器运行时,kubeadmin部署k8s 1.28集群

    centos7u9 序号 主机名 ip地址 CPU 内存 硬盘 1 k8s-master1 192.168.1.200 2C 2G 100G 2 k8s-worker1 192.168.1.201 2C 2G 100G 3 k8s-worker2 192.168.1.202 2C 2G 100G 1.3.1主机名配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 1.3.3主机名与IP地址解析(hosts) vi /etc/hosts 1.3.4防火墙配置 关闭防火墙firewalld 1.3.5SELINUX配置 修改

    2024年02月01日
    浏览(23)
  • 安装 k8s集群的问题:默认容器运行时从 Docker 改为 Containerd

    安装 k8s集群的问题:默认容器运行时从 Docker 改为 Containerd

    💖The Begin💖点点关注,收藏不迷路💖 从 Kuberetes 1.20 版本开始,Kuberetes官方 已经将默认的容器运行时从Docker改为Containerd。 因此,从 Kubernetes 1.20 开始,Kuberetes官方将支持使用 Docker和Containerd 作为容器运时,也意味着Kubemetes从Docker的依赖中解耦了出来。 在 Kubernetes1.24 及之后

    2024年04月14日
    浏览(17)
  • Kubernetes[k8s] 最新版1.27.3安装教程,使用containerd模式

    公司使用的是交老的k8s版本(1.16),由于老版本的K8s对于现在很多新特性不支持,所以需要升级到新版本。目前2023年7月11日最新版本的k8s是v1.27.3。通过参考官方文档进行k8s部署工作。其中涉及到操作系统配置、防火墙配置、私有镜像仓库等。 推荐一个AI工具:态灵AI: chata

    2024年02月09日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包