Kubernetes,简称k8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
个人学习k8s时往往要搭建k8s环境,而作为个人学习,一般需要准备3台机器。我的方案是在本机安装虚拟机软件,创建3个虚拟机来组成来搭建k8s集群。查找网上资料,基本都是X86架构的,我的电脑是MacBook Pro,M1芯片,属于ARM架构,所以很多教程都是有区别的,踩了很多坑,此处记录一下我的搭建过程。
一、版本信息
电脑型号 |
MacBook Pro |
芯片 |
M1 |
处理器架构 |
ARM |
虚拟机软件 |
Parallels Desktop 18.1.1 (53328) |
操作系统 |
CentOS 7 |
docker版本 |
20.10.7 |
k8s版本 |
1.23.6 |
二、docker安装
k8s依赖于docker,并且版本必须匹配,如果docker版本过高会导致最后k8s初始化失败,报错信息如下:
this Docker version is not on the list of validated versions: 24.0.2. Latest validated version: 20.1
解决方案:卸载高版本docker,重新安装与k8s匹配的docker版本。
情况一:初次安装,并且指定版本
# 1. 安装Device Mapper工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 2. 配置docker的yum数据源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3. 更新yum缓存
yum makecache fast
# 4. 查看yum源支持的docker版本
yum list docker-ce --showduplicates | sort -r
# 5. 安装指定版本Docker
yum install docker-ce-20.10.7-3.el7 -ysystemctl start docker
# 6. 启动服务
systemctl start docker
# 7. 配置开机自启动服务
systemctl enable docker
情况二:卸载后重新安装指定版本
# 1. 卸载docker
yum remove docker \
docker-client \