基于VirtualBox + CentOS搭建单节点Kubernetes

本文详细介绍了如何在VirtualBox上使用CentOS 8搭建单节点Kubernetes集群,包括系统安装、网络配置、Docker安装、Kubernetes组件部署、Dashboard安装及管理员用户创建等步骤,提供了遇到问题的解决方案,并引用了相关参考资料。
摘要由CSDN通过智能技术生成

软件版本

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流言蜚语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值