LinuxDo 新帖推送
183 subscribers
252K photos
315K links
Download Telegram
标题: 使用 Terraform 部署 Proxmox 虚拟机
作者: #小小大头兵
板块: #开发调优
编号: 1494824
帖子: https://linux.do/t/topic/1494824
时间: 2026-01-21 15:56:14
摘要:
IaC 定义
代码即基础设施 (IaC) 是现代 IT 运营中的一种常见实践,它使用代码来管理和配置计算基础设施,而不是使用命令行工具]或 GUI 接口进行手动硬件配置。手动硬件配置容易导致实现不一致和错误。组织可以通过使用代码自动化基础设施设置来确保其环境的可重复性和一致性。
常用 IaC 工具概述
CFEngine率先使用声明式、幂等的 DSL 来安装软件包和管理服务器上的配置文件,Puppet 和 Chef 随后出现。随着时间的推移,其他工具因其可靠性、适应性和在各行业的广泛接受而日益突出。这些包括:
Ansible。最初由 于 2012 年编写,并于 2015 年被 Red Hat 收购,Ansible 是一款开源的 IaC 工具套件,涵盖软件配置、配置管理和应用程序部署功能。Ansible 是无代理的,依赖于通过 SSH 或 Windows 远程管理的临时远程连接,允许执行 PowerShell。系统配置使用 YAML 定义。
AWS Cloud Development Kit (CDK)。亚马逊网络服务 (AWS) 开发的开源软件开发框架,用于使用熟悉的 编程语言 定义和配置云基础设施资源。支持的语言包括 C#、Go、Java、JavaScript 和 Python。CDK 包含一个更高级别的构造和预构建组件库,这些组件封装了一个或多个 AWS 资源及其配置。构造可用于构建更高级别的抽象,称为模式。
Chef。Progress Chef 是一款用 Ruby 和 Erlang 编写的配置管理工具。它使用纯 Ruby 领域特定语言 (DSL) 来编写系统配置“配方”,然后可以将这些配方分组到“cookbook”中以方便管理。它可以与 Amazon EC2、Google Cloud Platform (GCP)、Microsoft Azure 等集成,以自动配置和配置新机器。
OpenTofu。OpenTofu 是 HashiCorp 的 Terraform 的一个开源分支,于 2023 年 8 月创建,以应对该公司将其 IaC 产品转向更严格许可证的决定,OpenTofu 使用声明式 OpenTofu 配置语言,并与 AWS、Azure 和 Google 云服务兼容。
Pulumi。Pulumi由前微软员工Joe Duffy和Eric Rudder于2017年创立,Pulumi是新一代IaC工具之一,主要面向云端设计。它采用命令式方法定义基础设施。开源的Pulumi CLI和SDK为用户提供了一种管理各种公共云提供商(包括AWS、Azure和GCP)的云基础设施的方法。代码可以使用多种语言编写,包括C#、Go、Java、JavaScript、Python、TypeScript和YAML。
Puppet。 Puppet使用其自身的声明式语言来描述系统配置。它可用于在数据中心和云基础设施中配置、修补、配置和管理操作系统和应用程序组件。
Terraform。 Terraform由HashiCorp开发,能够管理本地和云端资源。Terraform用户使用称为HashiCorp Configuration Language (HCL)或JSON的声明式配置语言来定义和配置数据中心基础设施。它支持一系列提供商,包括AWS、Google Cloud和Microsoft Azure,非常适合云环境。
这些工具不仅有助于自动化基础设施的设置和管理,而且支持创建可重用和版本控制的基础设施代码,从而提高可扩展性和易于维护性。
本文目的
通过 Terraform 调用Proxmox VE 的 REST API 在创建虚拟机,其中使用的是cloud-init 模版

将平台虚拟化
快速创建销毁实验环境
体验基础设施即代码 IaaS

环境概述
pve: 8.4.1
Terraform:开源的基础设施即代码工具
terraform-provider-proxmox:Terraform Proxmox Provider,通过 Proxmox VE 的 REST API 在创建虚拟机。
pve
如何安装pve此处不详细展开,具体参考本目录下关于pve的篇章
创建Cloud-Init Template
这里选用 Cloud-Init 的方式,从 cloud-init template 来克隆虚拟机。cloud-init 的虚拟机可以完成一些高级定制的初始化工作,具体参考 Cloud Init 文档。
下载Cloud-Init 镜像
登陆到 Proxmox VE 宿主机,下宿主机目录下下载Cloud-init镜像
官方镜像地址:
# cloud images下载地址
# centos:
http://cloud.centos.org/centos/
# ubuntu:
http://cloud-images.ubuntu.com/releases/
# debian:
https://cloud.debian.org/images/cloud/OpenStack/
# fedora:
https://alt.fedoraproject.org/cloud/
# opensuse:
https://software.opensuse.org/distributions/leap#JeOS-ports


本文中下载ubuntu 24.10版本的镜像
登录上pve主机上,在特定目录下执行
wget https://cloud-images.ubuntu.com/releases/oracular/release-20250701/ubuntu-24.10-server-cloudimg-amd64.img

创建模版主机
登录到pve主机上执行下面的命令创建一个虚拟机:
# 创建一个vmid 为9000,名字为ubuntu-24.10-template的虚拟机
qm create 9000 --cores 1 --memory 1024 --name "ubuntu-24.10-template" --net0 virtio,bridge=vmbr0
#将cloud镜像注入到9000 虚拟机
qm importdisk 9000 ubuntu-24.10-server-cloudimg-amd64.img local-lvm
# 详细设置虚拟机的一些配置
qm set 9000 --sata0 local-lvm:vm-9000-disk-0 --sata1 local-lvm:cloudinit --boot c --bootdisk sata0 --serial0 socket --vga serial0 --ciuser root --cipassword 123456 --ipconfig0 ip=dhcp,ip6=dhcp --nameserver 8.8.8.8 --searchdomain 8.8.8.8

配置模板系统
启动模版系统
qm start 9000

通过默认设置的用户,进入模版系统,优化设置,如下
CentOS
# 配置yum源
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' -i.bak /etc/yum.repos.d/CentOS-Base.repo

# 设置时区
timedatectl set-timezone Asia/Shanghai

# 安装vim
yum install vim bash-completion

# 修改ssh远程
vim /etc/ssh/sshd_config
# 开启root登录(如果需要的话;这里开启了之后Cloud-Init用户就可以设置root)
PermitRootLogin yes
# 开启密钥登录
PubkeyAuthentication yes
# 密钥路径
AuthorizedKeysFile
# 开启密码登录(默认只允许密钥登录)
PasswordAuthentication yes
# 不允许空密码登录
PermitEmptyPasswords no
# 关闭连接的DNS解析
UseDNS no

Ubuntu
# 设置时区
timedatectl set-timezone Asia/Shanghai

# 设置APT仓库源
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

# 更新源和安装常用软件
apt update && sudo apt install vim bash-completion -y

# 更新系统
sudo apt upgrade

# 修改SSH配置
vim /etc/ssh/sshd_config
# 开启root登录(如果需要的话;这里开启了之后Cloud-Init用户就可以设置root)
PermitRootLogin yes
# 开启密钥登录
PubkeyAuthentication yes
# 密钥路径
Au
标题: 我摊牌了,CodeConductor就是一个缝合怪
作者: #linxin
板块: #搞七捻三
编号: 1494915
帖子: https://linux.do/t/topic/1494915
时间: 2026-01-21 16:00:25
摘要:
什么交互式prompt,什么斜杠命令,什么多智能体协作,什么superpowers我管你这的那个,通通把他们缝进来



github.com






GitHub - zhu1090093659/CodeConductor: Modern Electron-based desktop application...

Modern Electron-based desktop application providing a polished chat interface for CLI AI agents (Claude Code, OpenAI Codex). Supports both desktop and web modes.
标题: Claude Code 中 AskUserQuestion 的实现
作者: #Vinci557
板块: #开发调优
编号: 1494919
帖子: https://linux.do/t/topic/1494919
时间: 2026-01-21 16:00:48
摘要:
有没有大佬研究过 Claude Code 中 AskUserQuestion 这个功能是如何实现的?

感觉这个功能是 Claude Code Plan 模式的一个特色,在其他的工具中很少能见到这样的交互模式。
标题: 各种VPS常见的网络线路科普(三大运营商线路)
作者: #Rosna
板块: #资源荟萃
编号: 1494922
帖子: https://linux.do/t/topic/1494922
时间: 2026-01-21 16:01:19
摘要:
三大运营商线路
在国内,最大的三个网络运营商电信,联通和移动,各自都有自己的局域网,也有自己的ASN,我们的流量就是走的这些ASN来和服务器进行交流沟通的。
这些流量的轨迹一般是你家->省网->跨境->国际出口,网络线路的体验也就和流经这些段的速度相关了。
电信线路一般为(163/CN2 GT/CN2 GIA)
AS4134:国内骨干网,俗称4134或163骨干网,ip常以202.97开头。
定位于承载普通质量的互联网业务, 基建早, 带宽大, 便宜,多次扩容后拥挤情况有改善,绝大部分普通家宽的出境路线。
AS4809:国内精品网,俗称CN2,ip常以59.43开头. CN2 相比较 163 网络, 带宽小, 稳定高速。
AS23764:境外网,俗称CTGNet,用于面向企业客户提供定制化的国际互联网专线接入服务。
CN2实际上分为CN2GT和CN2GIA两种。CN2GT又称半程CN2,Global Transit,因为其国内走163骨干网
,跨境和163挤在一个段里(那我要你有何用),国外和CN2一样;CN2GIA是全程CN2,跨境段不用和163挤在一起,拥有自己的带宽,国内国外都走CN2网络。
亚太还有个比较流行的163pp,俗称高q163,其实就是拥有跨境段高qos保障的163,相当于单独购买了带宽的163骨干网,
大部分163跨境都是共享的,导致晚高峰互相抢带宽,卡的半死,高q163贵的夸张…
可以看看电信去程走的是CN2骨干网
# 时间:2024-07-07 23:16:36
1 192.168.50.1 * RFC1918
0.51 ms / 0.88 ms / 1.07 ms
2 116.233.80.1 AS4812 [CHINANET-SH] 中国 上海 上海 chinatelecom.cn
标题: 实习到头,有无开源项目
作者: #wlwl
板块: #开发调优
编号: 1494927
帖子: https://linux.do/t/topic/1494927
时间: 2026-01-21 16:02:11
摘要:
实习了两个月,感觉自己根本不适合工作,但是这段时间不想闲着,想问问佬友有没有开源项目让我一起参与一下。
之前做过AI agent开发,langgraph和dify都用过,基本的开发有ai代劳,专业是网安,所以安全方面的也可以参与,自己写过小程序,做过网站,过段时间毕设要用深度学习训练模型。这就是基本的能力情况
不知道有佬友有意向吗
可以整点好玩的小工具啥的造福一下佬友也行。有需要小工具的佬可以留下需求,有空会做捏
标题: 预算200,求推荐能刷openwrt的路由器。
作者: #jiashuaibei
板块: #开发调优
编号: 1494932
帖子: https://linux.do/t/topic/1494932
时间: 2026-01-21 16:02:50
摘要:
预算200元,之所以刷openwrt是为了给家里ipv6设置出入站规则,廉价路由器自带固件只有开关防火墙功能。
标题: 28岁生日了,博士还得好几年毕业
作者: #涯哥亡命HIT
板块: #搞七捻三
编号: 1494938
帖子: https://linux.do/t/topic/1494938
时间: 2026-01-21 16:04:04
摘要:
现在到生日这天只有妈妈还记得了,保持联系的人越来越少,只有各个App和银行这种软件还记得 。昨天通知明天组会,还要帮师兄整理一个论文数据,这生日过的QAQ
标题: github学生包疑问
作者: #WuHuFly
板块: #搞七捻三
编号: 1494941
帖子: https://linux.do/t/topic/1494941
时间: 2026-01-21 16:04:55
摘要:
刚用edu邮箱嫖了4年的微软office365,想起来还有github学生包,里面就1password权益我用的到,不过我有问题,这个权益领取是兑换码还是直接就是跳转登录链接?这个链接或兑换码有过期时间吗?我前面白嫖的家庭版1p还有半年呢,目前还不着急用
标题: 困扰我好久的问题, 好像是cc的问题?
作者: #Catlog22
板块: #开发调优
编号: 1494942
帖子: https://linux.do/t/topic/1494942
时间: 2026-01-21 16:05:23
摘要:
window 平台,不知道从claude code 2.1 哪个版本开始,内置的Bash()识别不到npm命令了,只能用npm.cmd。回退到2.0.77版本发现可以调用,有大手子知道怎么解决吗?现在不确定是不是我的环境问题。。
标题: 哦吼,我也获得了全年不落微章
作者: #pgdoryoku
板块: #搞七捻三
编号: 1494944
帖子: https://linux.do/t/topic/1494944
时间: 2026-01-21 16:05:31
摘要:
第410名,不容易啊,每天开电脑的第一件事就是打开L站,
标题: sonarqube实践
作者: #小小大头兵
板块: #开发调优
编号: 1494969
帖子: https://linux.do/t/topic/1494969
时间: 2026-01-21 16:07:19
摘要:
简介
SonarQube是一个开源的代码质量管理平台,用于分析和管理软件项目的代码质量。它提供了静态代码分析、代码复杂度、代码覆盖率、代码重复、代码安全性等方面的功能。SonarQube可以帮助开发团队发现和修复代码中的潜在问题和缺陷,提高代码的可读性、可维护性和可扩展性。它支持多种编程语言,包括Java、C#、C/C++、JavaScript、Python等。通过集成到持续集成和持续交付流程中,SonarQube可以帮助团队在开发过程中不断监控和改善代码质量。
本篇文档将从安装SonarQube到主流的ci/cd集成(jenkins,gitlab ci/cd) 深入浅出的介绍
安装SonarQube
通过k8s安装SonarQube
前提环境
k8s 1.27
pgsql集群(在本文不做详细介绍,但是在文档里有关于pg集群的详细,自行查看)
安装步骤
创建SonarQube所在的namespace
kubectl create ns sonarqube
存储类使用的nfs(关于如何使用动态存储卷,并且使用nfs-client的,请移步k8s文档),以下文deployment yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarqube
namespace: sonarqube
labels:
app: sonarqube
spec:
replicas: 1
selector:
matchLabels:
app: sonarqube
template:
metadata:
labels:
app: sonarqube
spec:
initContainers:
- name: init-sysctl
image: busybox
imagePullPolicy: IfNotPresent
command: