k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

这篇具有很好参考价值的文章主要介绍了k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

一:k8s1.27.x 的概述

太平洋时间 2023 年 4 月 11 日,Kubernetes 1.27 正式发布。此版本距离上版本发布时隔 4 个月,是 2023 年的第一个版本。
新版本中 release 团队跟踪了 60 个 enhancements,比之前版本都要多得多。其中 13 个功能升级为稳定版,29 个已有功能进行优化升级为 Beta,另有 18 个 Alpha 级别的功能,大多数为全新功能。

1.1:k8s 1.27.x 更新

镜像仓库切换 http://k8s.gcr.io 到 http://registry.gcr.io
KEP-1847:StatefulSet PVC 自动删除功能特性 Beta
KEP-3453:优化大型集群中 kube-proxy 的 iptables 模式性能
KEP-2831 和 KEP-647:APIServer 和 Kubelet 的 Tracing 功能 Beta
KEP-3077:上下文日志
KEP-1287:Pod 资源的纵向弹性伸缩
KEP-3386:Kubelet 事件驱动 PLEG 升级为 Beta
KEP-3476:Volume Group 快照 Alpha(API)
KEP-3838 和 KEP-3521:Pod 调度就绪态功能增强
KEP-3243:Deployment 滚动更新过程中的调度优化
KEP-2876:使用通用表达式语言(CEL)来验证 CRD
KEP-2258:节点日志查询
KEP-3659:kubectl apply –prune 重新设计

重要功能

二:k8s1.27.x 的安装

2.1 系统安装介绍
操作系统:
   Rockylinux8.7x64 
主机名:
   cat /etc/hosts 
---
172.16.10.81    hadoop01
172.16.10.82    hadoop02
172.16.10.83    hadoop03
172.16.10.84    hadoop04
172.16.10.85    hadoop05
172.16.10.86    hadoop06
----
2.2 系统初始化
#修改时区,同步时间
yum install chrond -y
vim /etc/chrony.conf
-----
ntpdate ntp1.aliyun.com iburst
-----
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' > /etc/timezone

#关闭防火墙,selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config 
setenforce 0

## 关闭swap

swapoff -a  
sed -ri 's/.*swap.*/#&/' /etc/fstab


#系统优化
cat > /etc/sysctl.d/k8s_better.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
modprobe br_netfilter
lsmod |grep conntrack
modprobe ip_conntrack
sysctl -p /etc/sysctl.d/k8s_better.conf


#确保每台机器的uuid不一致,如果是克隆机器,修改网卡配置文件删除uuid那一行
cat /sys/class/dmi/id/product_uuid

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装
k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

2.2 安装ipvs 转发支持 【所有节点】
###系统依赖包
yum install -y conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

### 开启ipvs 转发
modprobe br_netfilter 

cat > /etc/sysconfig/modules/ipvs.modules << EOF 

#!/bin/bash 
modprobe -- ip_vs 
modprobe -- ip_vs_rr 
modprobe -- ip_vs_wrr 
modprobe -- ip_vs_sh 
modprobe -- nf_conntrack
EOF 

chmod 755 /etc/sysconfig/modules/ipvs.modules 

bash /etc/sysconfig/modules/ipvs.modules 

lsmod | grep -e ip_vs -e nf_conntrack

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

2.3 安装containerd [全部节点安装]
创建 /etc/modules-load.d/containerd.conf 配置文件:

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

modprobe overlay
modprobe br_netfilter

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

获取阿里云YUM源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


下载安装:

yum install -y containerd.io

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装
k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

生成containerd的配置文件
mkdir /etc/containerd -p 
生成配置文件
containerd config default > /etc/containerd/config.toml
编辑配置文件
vim /etc/containerd/config.toml
-----
SystemdCgroup = false 改为 SystemdCgroup = true


# sandbox_image = "k8s.gcr.io/pause:3.6"
改为:
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"


------

# systemctl enable containerd
Created symlink from /etc/systemd/system/multi-user.target.wants/containerd.service to /usr/lib/systemd/system/containerd.service.
# systemctl start containerd
# ctr images ls

三:安装 k8s1.27.x

3.1 配置k8s1.27.x的yum 源
1.添加阿里云YUM软件源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF


yum makecache

## 查看所有的可用版本
yum list kubelet --showduplicates | sort -r |grep 1.27
3.2 安装kubeadm,kubelet和kubectl
目前最新版本是1.27.0,我们直接上最新版

yum install -y kubectl kubelet kubeadm
为了实现docker使用的cgroupdriver与kubelet使用的cgroup的一致性,建议修改如下文件内容。

# vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

设置kubelet为开机自启动即可,由于没有生成配置文件,集群初始化后自动启动
# systemctl enable kubelet
-----------------------------------
准备k8s1.27.0 所需要的镜像

kubeadm config images list --kubernetes-version=v1.25.0
集群初始化
使用kubeadm init命令初始化

在flyfish81上执行,报错请看k8s报错汇总
 
kubeadm init --kubernetes-version=v1.27.0 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address=172.16.10.81 --image-repository registry.aliyuncs.com/google_containers

--apiserver-advertise-address 集群通告地址
--image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
--kubernetes-version K8s版本,与上面安装的一致
--service-cidr 集群内部虚拟网络,Pod统一访问入口
--pod-network-cidr Pod网络,,与下面部署的CNI网络组件yaml中保持一致
-----------------------------------
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 172.16.10.81:6443 --token ggamya.2vrdww877b7hllp0 \
        --discovery-token-ca-cert-hash sha256:f031f144612ba3a912f1bf22a397565eaaad6b218693740d4f3c0e7d63810b40
-----------------------------------
hadoop01/hadoop03执行

kubeadm join 172.16.10.81:6443 --token ggamya.2vrdww877b7hllp0 \
        --discovery-token-ca-cert-hash sha256:f031f144612ba3a912f1bf22a397565eaaad6b218693740d4f3c0e7d63810b40
# 查看集群节点:
kubectl get node
3.3 集群部署网络插件
网络组件有很多种,只需要部署其中一个即可,推荐Calico。

Calico是一个纯三层的数据中心网络方案,Calico支持广泛的平台,包括Kubernetes、OpenStack等。

Calico 在每一个计算节点利用 Linux Kernel 实现了一个高效的虚拟路由器( vRouter) 来负责数据转发,而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播。

此外,Calico 项目还实现了 Kubernetes 网络策略,提供ACL功能。

1.下载Calico

wget https://docs.tigera.io/archive/v3.24/manifests/calico.yaml

vim calico.yaml
...
- name: CALICO_IPV4POOL_CIDR
  value: "10.244.0.0/16"
...

kubectl apply -f calico.yaml
kubectl get pod -n kube-system
kubectl get node
kubectl get pod -n kube-system
部署一个dashborad 
wget https://raw.githubusercontent.com/cby-chen/Kubernetes/main/yaml/dashboard.yaml

kubectl apply -f dashboard.yaml
kubectl get pod -n kubernetes-dashboard -o wide
kubectl get svc -n kubernetes-dashboard
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
---
将ClusterIP 改为NodePort

---
kubectl get svc -n kubernetes-dashboard
创建用户:
wget https://raw.githubusercontent.com/cby-chen/Kubernetes/main/yaml/dashboard-user.yaml

kubectl apply -f dashboard-user.yaml
创建token 
kubectl -n kubernetes-dashboard create token admin-user
打开浏览器访问:
https://172.16.10.81:31619/#/login

k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装
k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装
k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装文章来源地址https://www.toymoban.com/news/detail-484833.html

到了这里,关于k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • kubeadm方式部署k8s最新版本V1.26.2

    Kubernetes核心概念 Master主要负责资源调度,控制副本,和提供统一访问集群的入口。--核心节点也是管理节点 Node是Kubernetes集群架构中运行Pod的服务节点。Node是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机,由Master管理,并汇报容器状态给Master,同时

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

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

    2024年02月09日
    浏览(33)
  • Kubernetes[k8s] 最新版1.27.3 - 1.28.0安装教程,使用containerd模式

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

    2024年02月06日
    浏览(33)
  • Kubeadm方式搭建K8s高可用集群【1.23.0版本】

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 主机名 IP地址 操作系统 备注 master-1 16.32.15.200 CentOS7.8 安装keepalived、nginx实现高可用 master-2 16.32.15.201 CentOS7.8 安装keepalived、

    2023年04月22日
    浏览(40)
  • 第27关 在K8s集群上使用Helm3部署最新版本v2.10.0的私有镜像仓库Harbor

    ------ 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 在前面的几十关里面,博哥在k8s上部署服务一直都是用的docker hub上的公有镜像,对于企业服务来说,有些我们是不想把服务镜像放在公网上面的; 同时如果在有内部的镜像仓库,那拉取镜像的速度就会很快

    2024年02月01日
    浏览(36)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.26.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS

    2024年02月10日
    浏览(36)
  • 使用kubeadm方式快速部署一个K8S集群

    目录 一、环境准备 二、环境初始化  三、在所有主机上安装相关软件 1、安装docker 2、配置k8s的yum源 3、安装kubelet、kubeadm、kubectl 四、部署Kubernetes Master 五、加入Kubernets Node 六、部署CNI网络插件 七、测试k8s集群 我的是CentOS7系统,然后准备三台虚拟主机 一台master,和两台no

    2024年02月11日
    浏览(43)
  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(47)
  • Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

    本篇主要针对上篇文章的单 master 节点的 K8s 集群上搭建多 master 节点集群 和 LB 负载均衡服务器。 Kubernetes(K8S)集群搭建基础入门教程 虚拟机 IP 地址: IP 操作系统 主机名称 192.168.2.121 centos7.9 k8s-master01 192.168.2.124 centos7.9 k8s-master02 192.168.2.125 centos7.9 k8s-node01 192.168.2.126 centos

    2023年04月26日
    浏览(39)
  • k8s 1.27集群部署 容器运行时为containerd

    1.1.1 主机操作系统说明 序号 操作系统及版本 备注 1 CentOS7u9 1.1.2 主机硬件配置说明 需求 CPU 内存 硬盘 角色 主机名 值 8C 8G 1024GB master k8s-master01 值 8C 16G 1024GB worker(node) k8s-worker01 值 8C 16G 1024GB worker(node) k8s-worker02 1.1.3 主机配置 1.1.3.1 主机名配置 由于本次使用3台主机完成kubern

    2024年02月03日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包