共计 3572 个字符,预计需要花费 9 分钟才能阅读完成。
VMware 虚拟机
VMware 下载(需注册登录):https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware%20Workstation%20Pro,这里选择 VMware Workstation Pro 17.0 for Personal Use (Windows) 进行下载,版本为 17.5.2(2024-05-10)。
整个下载过程比较繁琐,不想折腾的话,可直接这里下载:https://www.123pan.com/s/jersTd-n6eyh
SHA256:2c3a40993a450dc9a059563d07664fc0fb85ae398a57d22b1b4bf0e602417bf7(生成指定哈希值:certutil -hashfile 文件名 sha256)
MD5:c0a0353c1dade2089b55ce04ca942964(生成指定哈希值:certutil -hashfile 文件名 md5)
创建虚拟机
打开 VMware,右键「我的计算机」→「新建文件夹」,设置为 RockyLinux。
「文件」→「新建虚拟机」→「自定义(高级)」,点击「下一步」→「下一步」→
「稍后安装操作系统」,点击「下一步」→「Linux」,版本选择 Rocky Linux 64 位,点击「下一步」→
「虚拟机名称」:RL-1,「位置」:D:\ 虚拟机 \RL\1,点击「下一步」→
「处理器数量」选择 2,「内核数量」选择 2,点击「下一步」→「内存」选择 4G,点击「下一步」→
「使用仅主机模式网络」,点击「下一步」→
「LSI Logic」,点击「下一步」→「SCSI」(服务器专用协议),点击「下一步」→
「创建新虚拟磁盘」,点击「下一步」→「磁盘大小」:100G,「将虚拟磁盘存储为单个文件」,点击「下一步」→「下一步」→「完成」。
把 RL- 1 移动到 RockyLinux 文件夹下。选中 RL-1,编辑虚拟机设置→「添加」→「网络适配器」。选中「CD/DVD」→「使用 ISO 镜像文件」,选择 ISO 镜像(Rocky Linux 下载:https://mirror.sjtu.edu.cn/rocky/9.4/isos/x86_64/Rocky-9.4-x86_64-minimal.iso,这里选择 Minimal ISO)。
安装 Rocky Linux
选中 RL-1,开启此虚拟机,选择「Install Rocky Linux 9.4」后回车。
「安装目标位置」选择「自定义」,点击「完成」。第 1 个 boot 分区(期望容量 800M),第 2 个 swap 分区(期望容量 4096M),第 3 个根分区(剩下的都给根分区),点击「完成」→「接受更改」。
「root 密码」设置 root 密码,可勾选「允许 root 用户使用密码进行 SSH 登录」,点击「完成」,最后点击「开始安装」→「重启系统」。
Rocky Linux 环境初始化
登录 Rocky Linux,网卡配置(小的是第一块网卡):vi /etc/NetworkManager/system-connections/ens160.nmconnection
,修改如下:
[ipv4]
method=manual
address1=192.168.141.11/24
重新加载网卡:
nmcli connection reload ens160
nmcli connection up ens160
# 查看 IP 地址
ip addr
之后就可以通过连接工具进行连接了,可以使用 WindTerm 终端工具。
替换 yum 源为上海交通大学:
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirror.sjtu.edu.cn/rocky|g' \
-i.bak \
/etc/yum.repos.d/[Rr]ocky*.repo
# 恢复
sed -e 's|^#mirrorlist=|mirrorlist=|g' \
-e 's|^baseurl=https://mirror.sjtu.edu.cn/rocky|#baseurl=http://dl.rockylinux.org/$contentdir|g' \
-i.bak \
/etc/yum.repos.d/[Rr]ocky*.repo
创建缓存:dnf makecache
。
防火墙 firewalld 修改为 iptables:
systemctl stop firewalld
systemctl disable firewalld
dnf -y install iptables-services
systemctl start iptables
# 查看默认规则
iptables -L
# 清空
iptables -F
# 持久化保存文件
service iptables save
# 开机自启
systemctl enable iptables
禁用 SELinux:
# 临时关闭
setenforce 0
# 永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 添加标记 selinux=0
grubby --update-kernel ALL --args selinux=0
设置时区:timedatectl set-timezone Asia/Shanghai
。
关闭机器:shutdown -h now
。
右键 RL-1,「快照」→「拍摄快照」,名称:just-install,点击「拍摄快照」。
安装 Docker
# 加载 bridge
dnf -y install epel-release
dnf -y install bridge-utils
# 加载 br_netfilter 模块
modprobe br_netfilter
echo 'br_netfilter' >> /etc/modules-load.d/bridge.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
# 刷新生效
sysctl -p
# 添加 docker-ce yum 源
sudo dnf config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
cd /etc/yum.repos.d
# 切换中科大源
sed -e 's|download.docker.com|mirrors.ustc.edu.cn/docker-ce|g' docker-ce.repo > docker-ce-ustc.repo
mv docker-ce.repo docker-ce.repo.back
# 安装 docker-ce
dnf -y install docker-ce
# 配置 daemon
cat > /etc/docker/daemon.json <<EOF
{
"default-ipc-mode": "shareable",
"data-root": "/data/docker",
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "100"
},
"insecure-registries": ["harbor.xinxainghf.com"],
"registry-mirrors": ["https://dfp63jaj.mirror.aliyuncs.com"]
}
EOF
# 创建 docker service 管理目录
mkdir -p /etc/systemd/system/docker.service.d
# 重启 docker 服务
systemctl daemon-reload && systemctl restart docker && systemctl enable docker
Kubernetes
简称 K8s,因为 k 与 s 之间一共有 8 个字母,所以大家习惯称呼为 K8s。
基于 Docker 模拟 Pod
K8s 网络
CNI 插件通常聚焦在容器到容器的网络通信。CNI 接口并不是指 HTTP,gRPC 这种接口,Kubernetes 节点默认 CNI 插件路径为 /opt/cni/bin。
Pod:容器组
Pause 容器:
- Pod 内部第一个启动的容器
- 初始化网络栈
- 挂载需要的存储卷
- 回收僵尸进程