在本文中,我将分享如何在MacOS M系列(arm64)设备上安装虚拟机并运行CentOS 7系统,这是安装和部署Kubernetes
1.25版本的初步准备工作。这一过程不仅适用于MacOS M系列用户,也为希望在类似环境中进行Kubernetes部署的开发者提供了一个参考基础。
在本文中,将重点介绍如何在MacOS M系列(arm64)设备上安装虚拟机并运行CentOS 7系统。这一过程专为希望在其Mac设备上模拟CentOS环境的用户设计,无论是出于开发、测试还是学习的目的。如果您对部署Kubernetes不感兴趣,可以安心跳过与之相关的部分,这不会影响到虚拟机的创建和CentOS的运行。
进阶教程
本文介绍怎么安装CentOS虚拟机,如果您想部署K8s,那么您可能对一下内容感兴趣;
接下来的阶段,我会接着更新:
- 服务器配置:
- 涵盖开启SSH服务、配置静态IP、编辑hosts文件、关闭防火墙和SELinux、禁用Swap、系统参数优化、配置Linux内核模块和参数(例如调整文件打开数等),IPVS设置,添加YUM源,以及设置时间同步(使用Chrony作为NTP服务器,可选)。
- 搭建集群:
- 介绍安装containerd,配置containerd,安装和配置crictl,以及安装Kubernetes 1.25版本的kubectl、kubelet和kubeadm,初始化master集群,生成kubeadm默认配置文件,设置.kube/config,安装Calico网络插件,添加Node节点,并切换Kubernetes的IPVS转发模式。
- 扩展功能:
- 包括部署Traefik,安装NFS存储,安装KubeSphere,安装Grafana,以及部署EFK(Elasticsearch + Filebeat + Kibana)日志收集系统。
- 相关笔记:
- 整理在部署过程中遇到的问题及其解决方案,以及如何部署Filebeat。
- 额外内容:
- 部署各种中间件,部署主从数据库,部署高可用kafka,部署高可用HA-Hadoop,redis等等…
- 自动化部署脚本:
- 五分钟内完成从0到1搭建;
- 五分钟内完成从0到1搭建;
1. 前期准备
- 安装虚拟机 (我选择的是 Parallels Desktop, 当然也可以是其他,主要目的是运行 CentOS)
- 操作系统 CentOS-Stream-9-20231204.0-aarch64-dvd1(arm)下载链接放本文后面了
- 系统镜像文件我放本文最后
- 内存 4G 「至少」
- CPU 2核「至少」
- 硬盘 20G 「至少」
2. 集群规划
规划创建三台服务器,其中每一台作用:
hostname | ip地址 | 备注 |
---|---|---|
k8s-master | 10.211.55.100 | K8s的master |
k8s-node1 | 10.211.55.101 | k8s的worker node 1 |
k8s-node2 | 10.211.55.102 | k8s的worker node 2 |
我的虚拟机环境网络信息:
选项 | 值 |
---|---|
IPADDR | 10.211.55.100 |
GATEWAY | 10.211.55.1 |
NETMASK | 255.255.255.0 |
DNS1 | 10.211.55.0 (备 114.114.114.114) |
DNS2 | 10.211.55.1 (备 8.8.8.8) |
3. 虚拟机安装系统篇
由于我个人偏好,这里我使用的是parallels desktop;
对于parallels desktop的安装和使用,本文不详细介绍(因为萝卜白菜各有所爱, 您只需要运行您的虚拟机,跟着我进行安装系统即可);
3.1 虚拟机创建过程
3.1.1 安装系统
选择我提供的系统镜像并创建虚拟机;虚拟机初次启动后进行安装系统;
选择「Install CentOS Stream 9」
👇👇👇👇
等待一段时间并成功的进入安装页面;
进入安装向导页面后,这里您可以根据自己的需求选择语言,我当前选择的是英文;
👇👇👇
这里我们主要设置这三个地方:
- Installation Destination (安装位置(磁盘设置))
- Root Password(root 密码设置)
- Software Selection (软件选择)
👇👇👇
Installation Destination 进入后直接选择Done(因为当前是运行系统为目的(学习后期部署其他程序),如果有其他需求您可以参考官方安装文档)
👇👇👇
Root Password, 设置Root 用户密码
👇👇👇
Software Selection,选择安装软件,这里默认是GUI(桌面版),您可以根据需求选择,本文中进行 最小安装(Minimal Install)
👇👇👇
开始安装,这里根据电脑性能决定最终安装速度了,我这里大概花了 2 分钟时间;
👇👇👇
安装完成后即可进入系统,第一次进入系统时间可能比较久一点(感觉是跟M系列这个镜像的问题,不过不影响使用);
看到 login 即表示运行成功,此时您可以输入 root 账号并且接下来输入root的密码登陆;
👇👇👇
4. 设置ssh登陆
为了更好的执行我们的一些操作,接下来配置ssh登陆的方法;
4.1 开启ssh服务
我安装的版本需要配置一下sshd的配置;
编辑sshd_config配置
vi /etc/ssh/sshd_config
👇👇👇
找到一下内容,并修改他们的值(如果前面有 # 表示注释, 请去掉 # 符号, 并把值设置为 yes),保存退出(wq)
- 编辑文件:
- 按 i 进入编辑模式。
- 找到需要更改的配置行,去掉行首的 # 来启用配置,并将其值修改为 yes。
- 保存并退出:
- 完成编辑后,按 Esc 退出编辑模式。
- 输入 :wq 保存你的更改并退出编辑器
PermitRootLogin yes
PasswordAuthentication yes
👇👇👇
重启sshd
service sshd restart
👇👇👇
现在可以通过ssh登陆服务器了,接下来在本地终端操作更方便一点;
在服务器中输入ip add
查看网卡enp0s5
我的是这个,找到ip地址后,在宿主机终端中(账号不一定是root,我这是root登陆)
👇👇👇
在本机终端中输入以下命令登陆虚拟机;
ssh root@服务器ip地址
第一次登陆 Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入 yes 回撤;
👇👇👇
5. 配置静态Ip
为了更稳定的ssh连接和后续k8s安装,我们可以设置静态Ip;
先查看当前网卡
nmcli con show
👇👇👇
我们将创建一个新的以太网连接配置,其中static-enp0s5
为我准备创建的网络配置名称,ifname
是一个参数用于指定网络接口,我当前是enp0s5
nmcli con add type ethernet con-name static-enp0s5 ifname enp0s5
👇👇👇
接着,我们将配置静态 IP 地址、网关和 DNS 服务器:
nmcli con mod static-enp0s5 ipv4.addresses 10.211.55.100/24
nmcli con mod static-enp0s5 ipv4.gateway 10.211.55.1
nmcli con mod static-enp0s5 ipv4.dns "114.114.114.114,8.8.8.8"
👇👇👇
设置 IPv4 方法为手动,来启用静态 IP 地址配置:
nmcli con mod static-enp0s5 ipv4.method manual
👇👇👇
最后,我们将设置这个连接在启动时自动连接:
nmcli con mod static-enp0s5 connection.autoconnect yes
nmcli con mod static-enp0s5 ipv4.ignore-auto-dns no
👇👇👇
现在,您可以尝试激活这个连接:
此命令执行后,ssh会断开连接,不要慌,现在可以通过刚才设置的静态Ip登陆服务器了;本文中我设置的是(10.211.55.100);
nmcli con up static-enp0s5
执行这些命令后,static-enp0s5
连接应该会用您指定的静态 IP 配置启动。
👇👇👇
登陆验证
👇👇👇
6. 系统镜像下载地址
链接: https://pan.baidu.com/s/1pVHpcfRGDOjKI157OgxxHw?pwd=3hm8 提取码: 3hm8