软件版本
Windows 11 家庭中文版 Insider Preview
VirtualBox 6.1.26 r145957 (Qt5.6.2)
CentOS 8.5.2111-x86_64
虚拟机规格
CPU:2
内存:4G
硬盘:20G
安装系统
Step 1. 通过方向键选择“Install CentOS Linux 8”,单击“Enter”进入安装向导。
Step 2. 语言选择“English”,键盘选择“English (United States)”,单击“Continue”进入下一步。
Step 3. 按以下信息进行配置,单击“Begin Installation”开始安装,等待安装完成。
Installation Destination:sda / Automatic
Software Selection:Minimal / Standard
Time & Date:Asia/Shanghai timezone
Step 4. 单击“Reboot System”重启虚拟机,完成安装。
系统配置
网络配置
Step 1. 执行以下命令查看网卡状态。
# nmcli device status
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet disconnected --
lo loopback unmanaged --
Step 2. 执行以下命令启用网络设备。
# nmcli connection up enp0s3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
Step 3. 执行以下命令,允许网络设备自动激活。
# nmcli connection modify enp0s3 connection.autoconnect yes
安装Docker
Step 1. 执行以下命令,下载docker-ce的repo文件。
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
Step 2. 执行以下命令,安装containerd.io依赖。
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
Step 3. 执行以下命令,安装docker-ce。
yum -y install docker-ce
Step 4. 执行以下命令,设置docker服务自启动。
systemctl enable docker
Step 5. 新建目录,作为docker的数据目录。
mkdir /opt/docker
Step 6. 新建“/etc/docker/daemon.json”文件,修改docker数据目录。
{
"data-root": "/opt/docker"
}
Step 7. 执行以下命令,重启docker服务。
systemctl restart docker
Step 8. 执行以下命令,查看docker数据目录。(默认为/var/lib/docker)
docker info
回显信息如下:
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
scan: Docker Scan (Docker Inc., v0.12.0)
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.12
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc version: v1.0.2-0-g52b36a2
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 4.18.0-348.el8.x86_64
Operating System: CentOS Linux 8
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.649GiB
Name: k8s-01
ID: HWE5:KXKC:3HZ2:LTAG:7L4S:A4LL:OZK7:UYRQ:HIH6:MDPK:Q56P:6GL3
Docker Root Dir: /opt/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
其中“Docker Root Dir”已修改为“/opt/docker”。
安装Kubernetes
Step 1. 新建“/etc/yum.repos.d/kubernetes.repo”,配置镜像仓(使用阿里镜像仓)。
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
Step 2. 执行以下命令,关闭swap。
swapoff -a
Step 3. 修改“/etc/fstab”,注释掉swap分区配置。
#
# /etc/fstab
# Created by anaconda on Thu Dec 30 17:03:32 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=745157b8-dbe9-49c7-a3e5-66a0a18ca1f6 /boot xfs defaults 0 0
#/dev/mapper/cl-swap none swap defaults 0 0
Step 4. 在“/etc/docker/daemon.json”中增加配置,使docker的cgroup driver为systemd。
{
"data-root": "/opt/docker",
"exec-opts": [
"native.cgroupdriver=systemd"
]
}
Step 5. 执行以下命令,重启docker服务。
systemctl restart docker
Step 6. 执行以下命令,安装kubectl、kubelet、kubeadm工具。
yum install kubectl kubelet kubeadm
Step 7. 执行以下命令,放开6443和10250端口。
firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --reload
Step 8. 执行以下命令,初始化kubernetes环境。
注意:
- apiserver-advertise-address,为本地IP,对外提供API服务
- image-repository,为镜像仓库,默认为k8s.grc.io,国内无法访问,这里将其指定为阿里云的镜像仓
# kubeadm init --kubernetes-version=1.23.1 \
> --apiserver-advertise-address=192.168.3.13 \
> --image-repository registry.aliyuncs.com/google_containers \
> --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16
初始化成功的回显信息如下:
[init] Using Kubernetes version: v1.23.1
[preflight] Running pre-flight c