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

news2025/1/11 4:38:57

安装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 k

Transaction Summary
=========================================================================================================================================================================================
Install  2 Packages

Total 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 F7C5
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                 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 M
 docker-ce                                      x86_64                      3:26.1.3-1.el8                                                   docker-ce-stable                       27 M
 docker-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 k
 fuse-common                                    x86_64                      3.3.0-19.an8                                                     BaseOS                                 21 k
 fuse-overlayfs                                 x86_64                      1.13-1.0.1.module+an8.9.0+11261+8fb088a9                         AppStream                              69 k
 fuse3                                          x86_64                      3.3.0-19.an8                                                     BaseOS                                 54 k
 fuse3-libs                                     x86_64                      3.3.0-19.an8                                                     BaseOS                                 95 k
 libcgroup                                      x86_64                      2.0-1.0.1.an8                                                    BaseOS                                 78 k
 libslirp                                       x86_64                      4.4.0-2.module+an8.9.0+11257+d476ec85                            AppStream                              69 k
 slirp4netns                                    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 M
 docker-ce-rootless-extras                      x86_64                      26.1.3-1.el8                                                     docker-ce-stable                      5.0 M
 docker-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.coloradmin.cn/o/2274700.html

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

相关文章

某音响制造公司发展战略转型项目成功案例纪实

面对产业结构变化、海外订单缩减、劳动力成本攀升、缺乏自主品牌等原因导致的利润空间急剧下降的挑战&#xff0c;面向海外市场的代工厂如何在严峻的经济形势下克服发展障碍&#xff0c;成功实现转型与发展&#xff1f; 某音响制造公司&#xff0c;面临着订单量减少、成本增高…

redis的学习(三)

6. set集合 集合&#xff1a;把一些有关联的数据放在一起。 1、集合中的元素是无序的&#xff0c;即数据存放顺序不重要&#xff0c;变化一下顺序&#xff0c;集合依旧是之前的集合。 2、集合中的元素是不能重复的&#xff08;唯一性&#xff09;与list类似的是集合中的每一个元…

点赞系统设计(微服务)

点赞业务是一个常见的社交功能&#xff0c;它允许用户对其他用户的内容&#xff08;如帖子、评论、图片等&#xff09;表示喜欢或支持。在设计点赞业务时&#xff0c;需要考虑以下几个方面&#xff1a; 一、业务需求 点赞业务需要满足以下特性&#xff1a; 通用&#xff1a;…

C#进阶-在Ubuntu上部署ASP.NET Core Web API应用

随着云计算和容器化技术的普及&#xff0c;Linux 服务器已成为部署 Web 应用程序的主流平台之一。ASP.NET Core 作为一个跨平台、高性能的框架&#xff0c;非常适合在 Linux 环境中运行。本篇博客将详细介绍如何在 Linux 服务器上部署 ASP.NET Core Web API 应用&#xff0c;包…

设计模式-结构型-桥接模式

1. 什么是桥接模式&#xff1f; 桥接模式&#xff08;Bridge Pattern&#xff09; 是一种结构型设计模式&#xff0c;它旨在将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。通过这种方式&#xff0c;系统可以在抽象和实现两方面进行扩展&#xff0c;而无需相互影响…

python学习笔记—16—数据容器之元组

1. 元组——tuple(元组是一个只读的list) (1) 元组的定义注意&#xff1a;定义单个元素的元组&#xff0c;在元素后面要加上 , (2) 元组也支持嵌套 (3) 下标索引取出元素 (4) 元组的相关操作 1. index——查看元组中某个元素在元组中的位置从左到右第一次出现的位置 t1 (&qu…

基础算法--查找

一、线性枚举 1、线性枚举定义 线性枚举指的就是遍历某个一维数组&#xff08;顺序表&#xff09;的所有元素&#xff0c;找到满足条件的那个元素并且返回&#xff0c;返回值可以是下标&#xff0c;也可以是元素本身。 由于是遍历的&#xff0c;穷举了所有情况&#xff0c;所…

G1垃圾回收器的FullGC

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

Golang的代码压缩技术应用案例分析与研究实践

Golang的代码压缩技术应用案例分析与研究实践 一、介绍 是一种具有强大性能和便捷开发特性的编程语言&#xff0c;除了其优秀的语法和标准库外&#xff0c;它还拥有很多高级特性&#xff0c;其中之一就是代码压缩技术。本文将从常见的Golang代码压缩技术应用案例出发&#xff0…

【Uniapp-Vue3】image媒体组件属性

如果我们想要在页面上展示图片就需要使用到image标签。 这部分最重要的是图片的裁剪&#xff0c;图片的裁剪和缩放属性&#xff1a; mode 图片裁剪、缩放的模式 默认值是scaleToFill 我将用两张图片对属性进行演示&#xff0c;一张是pic1.jpg&#xff08;宽更长&#xf…

【网络协议】交换机概念与配置(第一部分)

概述 本文将探讨交换机的概念以及交换机的基础配置&#xff0c;并以此引入对 VLAN 的讨论。 文章目录 概述CSMA/CD以太网通信单播&#xff08;Unicast&#xff09;多播&#xff08;Multicast&#xff09;广播&#xff08;Broadcast&#xff09; MAC 地址以太网中的双工设置半双…

oracle位运算、左移右移、标签算法等

文章目录 位运算基础与或非同或同或应用场景 异或异或应用场景 什么是真值表 oracle基础函数创建bitor(按位或)函数bitnot(按位非)函数bitxor(按位异或)函数左移函数BITSHIFT()函数(实测不可用&#xff0c;废弃掉该方案)右移函数(略&#xff0c;有此场景吗?) 实际应用资质字典…

(五)ROS通信编程——参数服务器

前言 参数服务器在ROS中主要用于实现不同节点之间的数据共享&#xff08;P2P&#xff09;。参数服务器相当于是独立于所有节点的一个公共容器&#xff0c;可以将数据存储在该容器中&#xff0c;被不同的节点调用&#xff0c;当然不同的节点也可以往其中存储数据&#xff0c;关…

《零基础Go语言算法实战》【题目 1-18】切片的反转

《零基础Go语言算法实战》 【题目 1-18】切片的反转 请编写一个名为 reverse 的函数&#xff0c;采用整数切片并在不使用临时切片的情况下将切片反转。 【解答】 可以通过 for 循环交换切片中每个元素的值&#xff0c;使其从左向右滑动。最终&#xff0c;所有元素都将 被反转。…

Elasticsearch:搜索相关性

这里写目录标题 一、相关性的概述二、自定义评分策略1、TF-IDF算法2、BM25算法 三、自定义评分策略1、Index Boost&#xff1a;在索引层面修改相关性2、boosting&#xff1a;修改文档相关性3、negative_boost&#xff1a;降低相关性4、function_score&#xff1a;自定义评分5、…

【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; …

淺談Cocos2djs逆向

前言 簡單聊一下cocos2djs手遊的逆向&#xff0c;有任何相關想法歡迎和我討論^^ 一些概念 列出一些個人認為比較有用的概念&#xff1a; Cocos遊戲的兩大開發工具分別是CocosCreator和CocosStudio&#xff0c;區別是前者是cocos2djs專用的開發工具&#xff0c;後者則是coco…

概率论与数理统计总复习

复习课本&#xff1a;中科大使用的教辅《概率论和数理统计》缪柏其、张伟平版本 目录 0.部分积分公式 1.容斥原理 2.条件概率 3.全概率公式 4.贝叶斯公式 5.独立性 6.伯努利分布&#xff08;两点分布&#xff09; 7.二项分布 8.帕斯卡分布&#xff08;负二项分布&am…

el-table自定义按钮控制扩展expand

需求&#xff1a;自定义按钮实现表格扩展内容的展开和收起&#xff0c;实现如下&#xff1a; 将type“expand”的表格列的宽度设置为width"1"&#xff0c;让该操作列不展示出来&#xff0c;然后通过ref动态调用组件的内部方法toggleRowExpansion(row, row.expanded)控…

大语言模型训练的数据集从哪里来?

继续上篇文章的内容说说大语言模型预训练的数据集从哪里来以及为什么互联网上的数据已经被耗尽这个说法并不专业&#xff0c;再谈谈大语言模型预训练数据集的优化思路。 1. GPT2使用的数据集是WebText&#xff0c;该数据集大概40GB&#xff0c;由OpenAI创建&#xff0c;主要内…