说明
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
关闭防火墙(可选)
禁用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,当前测试可行
原文地址:https://blog.csdn.net/u010046286/article/details/129053291
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_47022.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!