【K8S】【minikube】CentOS7部署minikube最新版(1.26.1)

更新中,源博客 异步更新,此处较慢

说明

minikube是最接近原生kubernetes的本地单机版集群,支持大部分kubernetes功能,用于学习和开发k8s。支持Linux、Windows、Mac
官网安装文档

安装前提

  • 一台物理机或者虚拟机,物理机CPU大于2核vcpu、2G内存、20G磁盘,此处以CentOS7.9.2009为例
  • 可连接网络
  • 包括一个容器或者虚拟机管理引擎,此处以Docker为例
  • 此处以Linux服务器为例,如CentOS7.9.2003

安装步骤

前置操作(可选)

为了减少部署minikube时可能遇到的一些问题,建议以安装原生kubernets的一些操作系统设置为准,当前未验证不执行以下步骤的可能造成的影响,我会给出执行步骤的意见,请自行取舍。

升级内核(推荐)

原因:使用Containerd建议使用内核4.x以上,否则会有内核版本控制的告警

  • 检查当前内核版本,如果低于4.x建议升级
    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  • 添加elrepo源
    rpm -Uvh https://mirrors.aliyun.com/elrepo/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-5.el7.elrepo.noarch.rpm
  • 检查有哪些可以的版本(可选,可以直接执行下一步安装最新)
    yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
  • 安装内核
    # 安装最新稳定版
    yum --enablerepo=elrepo-kernel install kernel-lt -y
    # 安装指定版本
    yum --enablerepo=elrepo-kernel install kernel-lt-5.4.180-1.el7.elrepo -y
  • 生成 grub 配置文件
    grub2-mkconfig -o /boot/grub2/grub.cfg
  • 再次查看可用内核版本,并更改启动顺序
    # 更改启动顺序,此处0为最新安装的内核的序号
    grub2-set-default 0
  • 重启并检查当前生效内核版本
    #重启
    reboot
    #检查生效的内核
    uname -r
升级docker

原因:较新版本的kubernetes需要的版本较高,当前minikube官方建议是18.09及以上

  • 查看当前docker版本,低于18.09则继续升级docker version
  • 卸载当前安装的docker
    yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
  • docker-engine安装 yum-utils 包 ,设置存储库yum install -y yum-utils
    yum-config-manager \
    --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum update -y
  • 安装特定版本的docker(可选)
    # 查看当前可用docker版本
    yum list docker-ce --showduplicates | sort -r
    # 安装指定版本
    yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
    # 安装最新版本(推荐)
    yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 启动docker并设置自动启动
    systemctl enable docker
    systemctl start docker
禁用SELinux

原因: 当前kubelet不支持SElinux模式。必须关闭以允许容器访问主机文件系统、使Pod网络正常工作
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

关闭防火墙(可选)

systemctl stop firewalld

禁用swap分区

原因:原生 kubernetes不禁用swap分区会对性能有较大影响,此处继承
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab

时间同步(可选)

注1:可以使用ntp或者chronyd,且两者不能同时使用,此处使用chronyd为例
注2:chronyd默认同步pool.ntp.org 项目中的公共服务器,也可同步其他服务器,如阿里ntp服务器
yum -y install chrony
systemctl start chronyd
systemctl enable --now chronyd
# 与公共服务器同步时间
chronyc sources

卸载 networkmanager(可选)

systemctl stop NetworkManager
yum remove NetworkManager -y

安装minikube

  • 获取minikube
  • 启动(基本命令)
    minikube start
  • 建议的启动命令
    minikube start --force --driver=docker --cni calico --image-mirror-country='cn' --container-runtime=containerd

注1:安装1.24.1版本及以上,因为kubernetes弃用了dockershim,改用containerd作为CRI,因此必须指定–container-runtime=containerd,否则kubelet无法正常启动,这个也是高版本无法正常minikube start,但是指定低于1.24.1版本就可以启动的原因
注2:–image-mirror-country='cn’是使用国内阿里云仓库代替国外谷歌仓库,解决网络慢、不通的问题,实际使用时(2023.3 2)发现谷歌仓库访问正常,阿里云仓库安装最新kubernetes版本时缺少部分镜像,所以能不加此参数时就不加
注3:如果–image-mirror-country='cn’还是拉不动镜像,比如cni指定calico网络时,无法拉取对应镜像,则建议将–image-mirror-country='cn’替换为 --registry-mirror=https://registry.docker-cn.com,当前测试可行

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在CentOS 7上部署最新版Kubernetes,你可以按照以下步骤进行操作: 1. 确认硬件配置要求:CPU至少2核,硬盘至少20G,内存至少2G。节点数量建议为奇数(例如3、5、7、9等)。 2. 安装Docker并设置为服务器开机自启动。可以使用以下命令来安装和启用Docker: ``` sudo yum install -y docker sudo systemctl enable docker sudo systemctl start docker ``` 3. 使用kubeadm部署工具来安装Kubernetes集群。首先,安装kubeadm。可以使用以下命令来安装: ``` sudo yum install -y kubeadm ``` 4. 在每台服务器上禁用Swap设备,因为Kubernetes需要禁用Swap来正常工作。可以使用以下命令来禁用Swap: ``` sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a ``` 5. 现在你可以使用kubeadm来初始化主节点。在主节点上运行以下命令: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 这个命令将初始化Kubernetes集群,并生成一个用于将工作节点加入集群的命令。 6. 完成初始化后,你可以按照输出的指示在工作节点上运行相应命令来加入集群。 7. 安装网络插件,以便实现集群中的Pod网络通信。你可以选择不同的网络插件,如Calico、Flannel或Weave等。 8. 安装Kubernetes Dashboard(可选)。你可以使用以下命令来安装Dashboard: ``` kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml ``` 这样,你就成功地部署最新版Kubernetes集群。你可以使用kubectl命令来管理和操作你的集群。 请注意,以上步骤仅适用于CentOS 7上的最新版Kubernetes部署。在实际部署过程中,你可能还需要根据你的具体环境和需求进行一些配置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值