使用PVE快速创建虚拟机集群并搭建docker环境

安装Linux系统

这里以安装龙蜥操作系统AnolisOS8.9为例加以说明。
通过PVE后台上传操作系统ISO镜像。
在这里插入图片描述

然后在PVE上【创建虚拟机】,选定上传的龙蜥操作系统镜像进行系统安装。
注意:在安装过程中,要设定语言、时区、超管用户root的密码、普通用户k8s的账号和密码、内存、磁盘大小等参数。超管用户与普通用户的密码尽量保持一致,来回切换懒得匹配不同的密码。
安装好系统后,如果通过命令sudo su无法提升权限,需要把当前用户加入

# 切换root超管用户
su root# 编辑/etc/sudoers
vi /etc/sudoers# 然后在下面%wheel的下面添加一行,如安装操作系统时创建的普通用户为k8s,则添加%k8s这一行内容
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
%k8s    ALL=(ALL)       ALL

保存配置后退出。
为了加快服务器访问速度,还要配置域名解析文件。
编辑Dns解析配置文件,路径在/etc/resolv.conf。

# vi /etc/resolv.conf
search local
nameserver 211.xx.xx.xx     # 域名服务器地址

配置静态IP

编辑网卡配置文件,这里的网卡使用ens18,配置文件在/etc/sysconfig/network-scripts/ifcfg-ens18。注意:不同系统路径可能有差别,根据实际使用的网卡及系统进行配置。

# vi /etc/sysconfig/network-scripts/ifcfg-ens18
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static           # 静态IP方式
IPADDR=172.xx.xx.22        # 具体的IP
NETMASK=255.255.255.0
GATEWAY=172.xx.xx.1        # 网关,不一定为.1
DNS1=211.xx.xx.xx          # DNS地址解析服务器DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=ens18
UUID=xx-xx-xx
DEVICE=ens18
ONBOOT=on                 # 静态网卡跟随系统一起启动

克隆虚拟机

克隆创建好的虚拟机,只需修改hosts和静态IP即可。

  1. 修改/etc/hosts中的hostname
  2. 修改静态IP
    在/etc/sysconfig/network-scripts/ifcfg-ens18

安装基础包

安装wget包

[root@localhost soft]# yum install -y wget
Last metadata expiration check: 0:02:09 ago on Thu 09 Jan 2025 04:10:30 PM CST.
Dependencies resolved.
=========================================================================================================================================================================================Package                                     Architecture                           Version                                              Repository                                 Size
=========================================================================================================================================================================================
Installing:wget                                        x86_64                                 1.19.5-12.0.1.an8                                    AppStream                                 705 k
Installing dependencies:libmetalink                                 x86_64                                 0.1.3-7.0.1.an8                                      BaseOS                                     30 kTransaction Summary
=========================================================================================================================================================================================
Install  2 PackagesTotal download size: 735 k
Installed size: 2.7 M
Downloading Packages:
(1/2): wget-1.19.5-12.0.1.an8.x86_64.rpm                                                                                                                 136 kB/s | 705 kB     00:05    
(2/2): libmetalink-0.1.3-7.0.1.an8.x86_64.rpm                                                                                                            4.1 kB/s |  30 kB     00:07    
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                    101 kB/s | 735 kB     00:07     
AnolisOS-8 - AppStream                                                                                                                                   158 kB/s | 3.0 kB     00:00    
Importing GPG key 0x4873F7C5:Userid     : "Anolis OS <os@openanolis.org>"Fingerprint: F87D B652 2967 855E 986F 840C 6191 4008 4873 F7C5From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionPreparing        :                                                                                                                                                                 1/1 Installing       : libmetalink-0.1.3-7.0.1.an8.x86_64                                                                                                                              1/2 Installing       : wget-1.19.5-12.0.1.an8.x86_64                                                                                                                                   2/2 Running scriptlet: wget-1.19.5-12.0.1.an8.x86_64                                                                                                                                   2/2 Verifying        : wget-1.19.5-12.0.1.an8.x86_64                                                                                                                                   1/2 Verifying        : libmetalink-0.1.3-7.0.1.an8.x86_64                                                                                                                              2/2 Installed:libmetalink-0.1.3-7.0.1.an8.x86_64                                                            wget-1.19.5-12.0.1.an8.x86_64                                                           Complete!
[root@localhost soft]# 
[root@localhost soft]# rpm -qa|grep "wget"
wget-1.19.5-12.0.1.an8.x86_64
[root@localhost soft]# 
[root@localhost soft]# wget https://github.com/goharbor/harbor/releases/download/v2.12.1/harbor-offline-installer-v2.12.1.tgz
--2025-01-09 16:13:00--  https://github.com/goharbor/harbor/releases/download/v2.12.1/harbor-offline-installer-v2.12.1.tgz
Resolving github.com (github.com)... 
20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/50613991/806eb4e2-6da8-42f1-888f-29d44c0d9a96?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250109%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250109T081305Z&X-Amz-Expires=300&X-Amz-Signature=f82138a7280433879a3ea8c62d5325709a734884ce732cb12f42415b7859eb29&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dharbor-offline-installer-v2.12.1.tgz&response-content-type=application%2Foctet-stream [following]
--2025-01-09 16:13:06--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/50613991/806eb4e2-6da8-42f1-888f-29d44c0d9a96?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250109%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250109T081305Z&X-Amz-Expires=300&X-Amz-Signature=f82138a7280433879a3ea8c62d5325709a734884ce732cb12f42415b7859eb29&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dharbor-offline-installer-v2.12.1.tgz&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.111.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 703617262 (671M) [application/octet-stream]
Saving to: ‘harbor-offline-installer-v2.12.1.tgz’harbor-offline-installer-v2.12.1.tgz           100%[=================================================================================================>] 671.02M  21.9MB/s    in 29s     2025-01-09 16:13:35 (23.5 MB/s) - ‘harbor-offline-installer-v2.12.1.tgz’ saved [703617262/703617262][root@localhost soft]# 
[root@localhost soft]# 
[root@localhost soft]# ls -alh
total 672M
drwxrwxr-x  2 k8s  k8s    50 Jan  9 16:13 .
drwx------. 3 k8s  k8s    95 Jan  9 15:52 ..
-rw-r--r--  1 root root 672M Dec 24 15:03 harbor-of

制作快照

对上面创建好的3台虚拟机初始环境创建快照,方便后面回滚使用初始安装的Linux系统重新部署新环境使用。

配置docker环境

更新yum源

更新软件源中的包。

yum update

安装底层工具

yum install -y yum-utils device-mapper-persistent-data lvm2

添加阿里云仓库

# 添加阿里云的docker镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

刷新源信息

yum makecache --timer

下载docker-ce

使用yum -y install docker-ce docker-ce-cli containerd.io命令安装docker相关资源包,更新龙蜥8.9的软件园后,安装的docker版本呢是26.1.3,还是比较新的。

[root@localhost harbor]# yum -y install docker-ce docker-ce-cli containerd.io
Docker CE Stable - x86_64                                                                                                                                6.3 kB/s |  66 kB     00:10    
Dependencies resolved.
=========================================================================================================================================================================================Package                                        Architecture                Version                                                          Repository                             Size
=========================================================================================================================================================================================
Installing:containerd.io                                  x86_64                      1.6.32-3.1.el8                                                   docker-ce-stable                       35 Mdocker-ce                                      x86_64                      3:26.1.3-1.el8                                                   docker-ce-stable                       27 Mdocker-ce-cli                                  x86_64                      1:26.1.3-1.el8                                                   docker-ce-stable                      7.8 M
Installing dependencies:container-selinux                              noarch                      2:2.229.0-2.module+an8.9.0+11261+8fb088a9                        AppStream                              70 kfuse-common                                    x86_64                      3.3.0-19.an8                                                     BaseOS                                 21 kfuse-overlayfs                                 x86_64                      1.13-1.0.1.module+an8.9.0+11261+8fb088a9                         AppStream                              69 kfuse3                                          x86_64                      3.3.0-19.an8                                                     BaseOS                                 54 kfuse3-libs                                     x86_64                      3.3.0-19.an8                                                     BaseOS                                 95 klibcgroup                                      x86_64                      2.0-1.0.1.an8                                                    BaseOS                                 78 klibslirp                                       x86_64                      4.4.0-2.module+an8.9.0+11257+d476ec85                            AppStream                              69 kslirp4netns                                    x86_64                      1.2.3-1.module+an8.9.0+11261+8fb088a9                            AppStream                              55 k
Installing weak dependencies:docker-buildx-plugin                           x86_64                      0.14.0-1.el8                                                     docker-ce-stable                       14 Mdocker-ce-rootless-extras                      x86_64                      26.1.3-1.el8                                                     docker-ce-stable                      5.0 Mdocker-compose-plugin                          x86_64                      2.27.0-1.el8                                                     docker-ce-stable                       13 M
Enabling module streams:container-tools                                                            an8                                                                                                         

验证docker是否安装成功

[root@localhost harbor]# docker -v
Docker version 26.1.3, build b72abbb

展示出具体的docker版本,即说明docker安装成功。

组建k8s集群

敬请关注后续文章。

参考

龙蜥Linux系统部署docker21.1.3版本
手把手教你搭建Docker私有仓库Harbor
Docker部署私有仓库(registry&Harbor)
内网环境下离线安装Docker
Anolis8.8安装docker-ce
自建Docker镜像加速服务,基于官方 registry 一键部署Docker、K8s、Quay、Ghcr、Mcr、elastic、nvcr等镜像加速/管理服务
Docker/DockerHub 国内镜像源/加速列表(1月6日更新-长期维护)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/67729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch内存占用率过高怎么办?

文章目录 1&#xff0c;先用top看看各个进程的内存占用情况2&#xff0c;不能简单的杀死进程&#xff0c;然后再重启。3&#xff0c;查看一下ElasticSearch进程的具体启动情况4&#xff0c;修改Elasticsearch 的Java堆内存 1&#xff0c;先用top看看各个进程的内存占用情况 先…

OpenHarmony AVScreenCaptureRecorder录屏开发指导

一、简介 OpenHarmony 5.0新增了AVScreenCaptureRecorder ArkTs API。用户可以调用录屏AVScreenCaptureRecorder API录制屏幕&#xff0c;采集音频源数据&#xff0c;获取封装后的音视频文件&#xff0c;然后通过文件的形式流转到其他模块进行播放或处理&#xff0c;用于以文件…

【Spring】构造方法注入 属性加final

在Spring框架中&#xff0c;构造方法注入是一种常见的依赖注入方式。通过构造方法注入&#xff0c;Spring容器会在创建Bean时自动调用相应的构造方法&#xff0c;并将所需的依赖作为参数传入。关于构造方法注入时属性是否加final关键字&#xff0c;主要有以下几点区别&#xff…

一.MySQL程序简介

整体介绍 1.服务端mysqld(可执行文件) mysqld --verbose --help 2.客户端mysql(可执行文件) 3.其它工具包程序

G1垃圾回收器的FullGC

如何确定GarbageFirst回收器发生的是FullGC ? 必须出现FullGC字样才算是FUllGC&#xff0c;例如下图&#xff1a;因为内存分配失败&#xff08;Allocation Failure&#xff09;导致 如果不出现FullGC的字样说明它不是FUllGC&#xff0c;并不像Serial GC、ParallelGC的在老年代…

Sql 创建用户

Sql server 创建用户 Sql server 创建用户SQL MI 创建用户修改其他用户密码 Sql server 创建用户 在对应的数据库执行&#xff0c;该用户得到该库的所有权限 test.database.chinacloudapi.cn DB–01 DB–02 创建服务器登录用户 CREATE LOGIN test WITH PASSWORD zDgXI7rsafkak…

腾讯云AI代码助手编程挑战赛-武器大师

作品简介 对话过程能够介绍二战 各种武器 冷战 武器 现代的 各种武器装备&#xff0c;陆海空三军都知道。 技术架构 使用全后端分离的架构&#xff0c;前端使用Vue脚手架&#xff0c;腾讯云修改样式css 开发环境、开发流程 系统&#xff1a;win11 开发工具&#xff1a;VS…

Maven核心插件之maven-resources-plugin

前言 Maven 插件是 Maven 构建系统的重要组成部分&#xff0c;它们为 Maven 提供了丰富的功能和扩展能力&#xff0c;使得 Maven 不仅是一个构建工具&#xff0c;更是一个强大的项目管理平台。在 Maven 项目中&#xff0c;插件的使用通常通过配置 pom.xml 文件来完成。每个插件…

Golang的文件加密技术研究与应用

Golang的文件加密技术研究与应用 一、加密技术概述 文件加密的重要性 文件加密是指通过对文件进行加密操作&#xff0c;将文件内容转化为一段难以理解的数据。这样可以保护文件的隐私和安全&#xff0c;防止文件被未授权的用户访问和窃取。在日常工作和生活中&#xff0c;我们经…

Redis之秒杀活动

目录 全局唯一ID&#xff1a; 为什么 count 不可能为 null&#xff1f; 为什么返回值是 timestamp << COUNT_BITS | count&#xff1f; 整体的逻辑 (1) 生成时间戳 (2) 生成序列号 (3) 拼接时间戳和序列号 超卖问题&#xff1a; 基于版本号的乐观锁 CAS思想 …

VSCode 在Windows下开发时使用Cmake Tools时输出Log乱码以及CPP文件乱码的终极解决方案

在Windows11上使用VSCode开发C程序的时候&#xff0c;由于使用到了Cmake Tools插件&#xff0c;在编译运行的时候&#xff0c;会出现输出日志乱码的情况&#xff0c;那么如何解决呢&#xff1f; 这里提供了解决方案&#xff1a; 当Settings里的Cmake: Output Log Encoding里设…

【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a; 期待您的关注 题目描述&#xff1a; 原题链接&#xff1a; 求123...n_牛客题霸_牛客网 (nowcoder.com) 解题思路&#xff1a; …

STM32 单片机 练习项目 LED灯闪烁LED流水灯蜂鸣器 未完待续

个人学习笔记 文件路径&#xff1a;程序源码\STM32Project-DAP&DAPmini\1-1 接线图 3-1LED闪烁图片 新建项目 新建项目文件 选择F103C8芯片 关闭弹出窗口 拷贝资料 在项目内新建3个文件夹 Start、Library、User Start文件拷贝 从资料中拷贝文件 文件路径&#xff1a;固…

DAY15 神经网络的参数和变量

DAY15 神经网络的参数和变量 一、参数和变量 在神经网络中&#xff0c;参数和变量是两个关键概念&#xff0c;它们分别指代不同类型的数据和设置。 参数&#xff08;Parameters&#xff09; 定义&#xff1a;参数是指在训练过程中学习到的模型内部变量&#xff0c;这些变量…

VS Code 可视化查看 C 调用链插件 C Relation

简介 一直想用 SourceInsight 一样的可以查看函数调用链一样的功能&#xff0c;但是又不想用 SourceInsight&#xff0c;找了一圈没有找到 VS Code 有类似功能的插件&#xff0c;索性自己开发了一个。 这是一个可以可视化显示 C 函数调用关系的 VS Code 插件&#xff0c;功能纯…

(k8s)kubectl不断重启问题解决!

1.问题描述&#xff1a; 在服务器上安装完k8s之后&#xff0c;会出现kubectl有时候连得上&#xff0c;等之后再去连接的时候又断开&#xff0c;同时节点出现了NotReady的情况&#xff0c; 出现了这两种双重症状 2.解决问题 自己的思路&#xff1a;查看日志&#xff0c;检查报…

什么是数据湖?大数据架构的未来趋势

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…

【Leetcode·中等·数组】59. 螺旋矩阵 II(spiral matrix ii)

题目描述 英文版描述 Given a positive integer n, generate an n x n matrix filled with elements from 1 to n(2) in spiral order. Example 1: Input: n 3 Output: [[1,2,3],[8,9,4],[7,6,5]] 提示&#xff1a; 1 < n < 20 英文版地址 https://leetcode.com…

Open WebUI 与 AnythingLLM 安装部署

在前文 Ollama私有化部署大语言模型LLM&#xff08;上&#xff09;-CSDN博客 中通过Ollama来搭建运行私有化大语言模型&#xff0c;但缺少用户交互的界面&#xff0c;特别是Web可视化界面。 对此&#xff0c;本文以Open WebUI和AnythingLLM为例分别作为Ollama的前端Web可视化界…

论文导读 | 数据库系统中基于机器学习的基数估计方法

背景 基数估计任务是在一个查询执行之前预测其基数&#xff0c;基于代价的查询优化器&#xff08;Cost Based Optimizer&#xff09;将枚举所有可能的执行计划&#xff0c;并利用估计的基数选出期望执行代价最小的计划&#xff0c;从而完成查询优化的任务。 然而&#xff0c;…