
从0到1玩转DevOps&云原生
文章平均质量分 78
深入探讨云原生生态系统的各个方面,包括容器技术、微服务架构、持续集成与持续部署(CI/CD)、DevOps最佳实践,以及Kubernetes和云原生应用的开发和运维。我们的内容旨在提供实用的指南和深入的洞察,帮助您在快速发展的云原生领域中保持领先。无论您是云计算的新手还是希望深化已有知识的专业人士
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
阿寻寻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【云原生技术】 SpringBoot应用、Nacos、API网关、服务网关和Pod启动流程
SpringBoot应用、Nacos、API网关、服务网关和Pod启动流程原创 2025-07-30 13:11:03 · 197 阅读 · 0 评论 -
【云原生技术】容器文件如何下载?
你可以通过多种方式将**容器内的文件下载到主机**或其他计算机上,最常用的是使用 `docker cp` 命令,配合一些常规网络工具(如 scp、nc),还能跨机器下载。 下面是最常见的几种方式,附操作步骤和注意事项:---### 1. **直接用本地 Docker 主机的 `docker cp` 命令**假如你要把容器内的文件 `/home/jenkins/result.log` 下载到本机 `/tmp/` 目录:```bashdocker cp <container_id或name原创 2025-07-10 00:30:00 · 519 阅读 · 0 评论 -
【云原生技术】为什么第一次push会报这个错,第二次就可以push成功,第三次又失败?
为什么 “第一次 push 报 401,第二次就成功”?在 Harbor 里,**仓库(repository)只有在第一次推送成功后才真正创建**。 而 Docker push 的底层流程是这样的(简化):1. 获取上传凭证 `GET /service/token?scope=repository:proj/repo:push,pull …`2. 询问服务器:这层/这个 manifest 是否已经存在 `HEAD /v2/proj/repo/blobs/<digest>`原创 2025-07-10 00:15:00 · 303 阅读 · 0 评论 -
【云原生技术】如何从root用户转到Jenkins用户
如何从root用户转到Jenkins用户原创 2025-07-09 00:45:00 · 903 阅读 · 0 评论 -
【云原生技术】ERROR Wildcards ** and * are not supported in “sonar.sources“ and “sonar.tests“
ERROR Wildcards ** and * are not supported in "sonar.sources" and "sonar.tests"原创 2025-07-09 13:12:36 · 171 阅读 · 0 评论 -
【云原生技术】一次性把多模块工程完整地扫进 SonarQube
在多模块工程里,最省心的办法其实有两种,取决于你用什么构建工具。 下面先给“推荐做法”(几乎不用再写 `sonar.sources / sonar.tests`),再给“仍想用 CLI 时的自动收集脚本”。────────────────────────────────────────方案 A — 用 Maven/Gradle 自带的 Sonar 插件(首选)────────────────────────────────────────1. Maven ```bash mvn原创 2025-07-13 01:30:00 · 235 阅读 · 0 评论 -
【云原生技术】容器文件如何下载?
你可以通过多种方式将**容器内的文件下载到主机**或其他计算机上,最常用的是使用 `docker cp` 命令,配合一些常规网络工具(如 scp、nc),还能跨机器下载。 下面是最常见的几种方式,附操作步骤和注意事项:---### 1. **直接用本地 Docker 主机的 `docker cp` 命令**假如你要把容器内的文件 `/home/jenkins/result.log` 下载到本机 `/tmp/` 目录:```bashdocker cp <container_id或name原创 2025-07-13 01:00:00 · 237 阅读 · 0 评论 -
【云原生技术】docker文件的 daemon文件在linux的哪里配置的?
在绝大多数使用 systemd 的 Linux 发行版(Ubuntu ≥16.04、Debian 9+/10+、CentOS 7/8、RHEL 7/8、Rocky、Alma、Fedora 等)中,Docker Engine 的“守护进程级”参数有两类常见落点:1. 守护进程的 **JSON 配置文件** • 路径:`/etc/docker/daemon.json` • 作用:以 `key-value` 方式开启/关闭功能,或设置默认行为 (镜像加速器、默认日志驱动、re原创 2025-07-07 01:00:00 · 231 阅读 · 0 评论 -
【云原生技术】daemon.json 如何查找这个文件,用find可以吗?
find 会递归全盘扫描,速度慢、也容易扫出很多无关 json;在新版本 Docker(20.10+)中,第二行会直接打印出当前加载到的。如果字段为空,说明仍在用默认配置(即没有 daemon.json)。如果这个文件不存在,Docker 会采用内置默认值运行;一般情况下 Docker 的守护进程级 JSON 配置文件就放在。因此「找不到」往往不是因为它被藏到了别处,而是根本还没被创建。,说明你的发行版或运维自定义了路径;照着那个路径去找即可。• 不存在 → 按需新建。• 存在 → 直接编辑。原创 2025-07-08 00:45:00 · 753 阅读 · 0 评论 -
【云原生技术】K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority
原因 Kubernetes 节点在拉取镜像时会对 Harbor 的 HTTPS 证书做严格校验; 日志里的核心报错是: ```tls: failed to verify certificate: x509: certificate signed by unknown authority``` 说明 Harbor 返回的服务器证书要么是自签发,要么缺少在系统信任链里的根/中级 CA,节点因此拒绝连接。你需要让 **所有负责拉镜像的节点(containerd 或 Docker 守护进程)原创 2025-07-04 16:16:12 · 1092 阅读 · 0 评论 -
【云原生技术】公司harbor的域名网需要配置私有dns,怎么样配置
一、DNS 是什么 • 全称 Domain Name System,用来把可读的域名(registry.mycorp.com)解析成 IP 地址(10.20.30.40)。 • “ping 不通域名”说明主机无法解析,Docker login 也会失败,因为它同样要先解析域名再发 HTTPS 请求。二、如何让 Linux 主机解析到公司内部 Harbor 的域名 给你 3 种常见做法,按“简单 → 正规”排序,任选其一即可,也可组合使用。─────────────────────────原创 2025-07-05 00:15:00 · 602 阅读 · 0 评论 -
【云原生技术】如何查看服务器的密码?
如何查看服务器的密码?原创 2025-07-06 00:15:00 · 322 阅读 · 0 评论 -
【云原生生技术】如何为公司内网的 Harbor(或任何 HTTPS 服务)生成和部署一套 自签名 CA + 服务器证书
下面给出一套最常用、最容易落地的“纯 OpenSSL”流程,演示如何为公司内网的 Harbor(或任何 HTTPS 服务)生成和部署一套 **自签名 CA + 服务器证书**,并把 CA 证书发到所有 Docker / containerd 节点,让它们能够正常 `docker pull` 或 `kubectl apply`。整套流程无外部依赖,复制即可用;如你已有其他工具(cfssl、cert-manager 等),思路完全相同,只是命令不同。──────────────────────────一、原创 2025-07-04 16:13:10 · 484 阅读 · 0 评论 -
【云原生技术】如何生成和部署一套 自签名 CA + 服务器证书
下面给出一套最常用、最容易落地的“纯 OpenSSL”流程,演示如何为公司内网的 Harbor(或任何 HTTPS 服务)生成和部署一套。如你已有其他工具(cfssl、cert-manager 等),思路完全相同,只是命令不同。,并把 CA 证书发到所有 Docker / containerd 节点,让它们能够正常。• 一套自签根 CA,可重复签发其他内部服务证书;• 所有节点都信任该 CA,拉镜像畅通无阻。:根证书,后面要分发给所有客户端信任。:根私钥,妥善保管,别上传。,说明证书链已被信任。原创 2025-07-05 01:00:00 · 252 阅读 · 0 评论 -
【云原生技术】把“镜像构建 + save / push / ship”这段重型 I/O 任务迁到另一台干净机器,有 3 条主流路线
把“镜像构建 + save / push / ship”这段重型 I/O 任务迁到另一台干净机器,有 3 条主流路线。下面先给结论,再拆细节和运维注意点。你只要挑一条适合团队现状的方式,实现成本从低到高排列:A. 把那台空机器注册成 Jenkins Agent(最普遍,基本零改代码) B. 不用新 Agent,只把 Jenkinsfile 的 `docker` CLI 指向远程守护进程(SSH / TCP) C. 直接用 BuildKit Buildx 的远程 builder,把构建全部丢去对端原创 2025-07-13 00:15:00 · 23 阅读 · 0 评论 -
【云原生技术】流水线每次运行后占用的磁盘只剩可复用的缓存层,既不会撑爆空间,又保留了加速效果
确实,持续集成节点(或开发机)在一次完整流程里会暂时占用三块磁盘空间: (1) 镜像层(`docker build` 生成) (2) `docker save` 生成的 tar.gz (3) 推仓库时留下的本地 tag。 它们与“内存”无关,而是消耗 **磁盘**。只要流程结束后不再复用,就可以立即清理,通常做法如下。──────────────────────────────一、该删哪些?删完会不会有副作用?──────────────────────────────1. tar.gz原创 2025-07-12 01:00:00 · 136 阅读 · 0 评论 -
【云原生技术】是否推送到镜像仓库”“是否同步到目标服务器目录”改成前端可勾选的两个布尔开关
下面示范把“是否推送到镜像仓库”“是否同步到目标服务器目录”改成**前端可勾选的两个布尔开关**,并在 Jenkinsfile 里用 `when` 条件动态跳过或执行对应 stage。思路分三步: 1) 前端/后端参数设计 → 2) Jenkinsfile 模板 → 3) 常见扩展要点。────────────────────────────────────────1 前端 & 后端参数流转────────────────────────────────────────前端表单新增两个复选框原创 2025-07-12 00:30:00 · 21 阅读 · 0 评论 -
【云原生技术】把 JAR → Docker 镜像 → 按前端指定的服务器与目录
下面给出一整套“参考落地方案”,把 JAR → Docker 镜像 → 按前端指定的服务器与目录落盘 的流程拆成三部分: (1) 前后端参数流转;(2) Jenkinsfile 模板;(3) 目标机自动加载 / 校验。 全部用到的技术都在 Java+Jenkins 生态里,复制即可跑通,再按自己平台做二次封装。────────────────────────────────────────一、参数在前后端 & Jenkins 之间怎么传────────────────────────────原创 2025-07-12 00:15:00 · 22 阅读 · 0 评论 -
【云原生技术】如何将构建的镜像传输到指定服务器的目录下
把本地已构建好的镜像文件“落地”到目标服务器的某个目录,有三种常见做法,核心都离不开:1. `docker save`(或 `buildx build --output type=docker`)导出成 tar 2. 通过 SSH-family 工具把文件传过去 3. 在目标机上可选地 `docker load` 或留作离线归档下面给出 3 套可复制的命令行流程,并补充常见坑。────────────────────────────────────────方案 A:最通用——先保存为原创 2025-07-11 01:00:00 · 25 阅读 · 0 评论 -
【云原生技术】把“已有 *.tar / .tar.gz 镜像包 → 上传到一台 Docker 服务器 → 推送到 Harbor 目标项目”做成一份可复用 Jenkins 流水线
下面把“已有 *.tar / *.tar.gz* 镜像包 → 上传到一台 Docker 服务器 → 推送到 Harbor 目标项目”做成一份**可复用 Jenkins 流水线模板**,并给出两种实现路径:A. 标准 Docker CLI(load → tag → push) B. 使用 Skopeo “一步 copy”(不用 docker load,速度更快)任选其一即可落地,后半部分再列出常见问题与运维小贴士。───────────────────────────────────────原创 2025-07-11 00:30:00 · 24 阅读 · 0 评论 -
【云原生技术】subnet是什么?
**Subnet**(子网)是网络设计中的一个重要概念,它是指一个较大的网络被划分成一个或多个小的、独立的网络段。子网帮助组织优化网络管理、提高安全性、减少网络拥堵,并更有效地分配和使用 IP 地址。### 子网的主要概念1. **IP 地址**: - 每个网络设备在网络中都有一个唯一的 IP 地址。IP 地址由两部分组成:网络部分和主机部分。子网的主要作用就是将一个大 IP 网络细分成更小的网络,从而更好地管理。2. **子网掩码**: - 子网掩码是一个与 IP 地址相配合的数值原创 2025-06-20 15:28:42 · 385 阅读 · 0 评论 -
【云原生技术】CRDS是什么?
**CRD** 是 **Custom Resource Definition** 的缩写,中文译为“自定义资源定义”。它是 Kubernetes 的一个重要功能,允许用户创建和管理自定义资源,从而扩展 Kubernetes 的核心功能,让用户能够在 Kubernetes 集群中定义和管理特定于应用程序或组织的资源类型。### CRD 的关键特点1. **扩展 Kubernetes API**: - CRD 允许用户在 Kubernetes 中添加新资源类型,这些资源与 Kubernetes 原原创 2025-06-20 15:30:48 · 323 阅读 · 0 评论 -
【云原生技术】mvn smart-sugar:tree -nsu,-nsu是什么意思?这个命令执行起来会比编译构建jar慢吗?
`mvn smart-sugar:tree -nsu` 是 Maven 命令的一种用法,其中涉及的参数和命令选项有其特定的含义。### 命令解析1. **`mvn`**: - 这是 Maven 的命令行工具,用于执行 Maven 目标的命令。2. **`smart-sugar:tree`**: - 这是 Maven 插件的目标,指的是 `smart-sugar` 插件的 `tree` 目标。`smart-sugar` 是一个用于处理 Maven 项目的插件,`tree` 目标通常用于原创 2025-06-22 00:45:00 · 249 阅读 · 0 评论 -
【云原生技术】k8s的yaml文件存放在哪里?
Kubernetes 的 YAML 文件可以存放在多个不同的地方,具体取决于组织的开发和运维策略。以下是一些常见的存放位置以及管理建议:### 1. 版本控制系统(VCS)- **Git**: 很多团队将 Kubernetes 的 YAML 文件存放在 Git 仓库中,以便版本控制。这种管理方式便于跟踪配置变化、协作和回滚历史版本。 - **示例**: 您可以创建一个名为 `k8s-config` 的 Git 仓库,并将所有 YAML 文件放在这个仓库中,按环境(如 dev、staging、pr原创 2025-06-26 10:18:39 · 485 阅读 · 0 评论 -
【云原生技术】docker pull postgres:15-alpine request returned 500 Internal Server Error for API
docker pull postgres:15-alpinerequest returned 500 Internal Server Error for API route and version http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.49/images/create?fromImage=docker.io%2Flibrary%2Fpostgres&tag=15-alpine, check if the server supports th原创 2025-06-25 00:15:00 · 987 阅读 · 0 评论 -
【云原生技术】Kubernetes 的 YAML 文件可以存放在多个不同的地方
Kubernetes 的 YAML 文件可以存放在多个地方,最佳实践是将它们放在版本控制系统中,而不是仅依赖于本地文件系统。使用 Git 可以方便地管理集群的配置,确保在发生变化时能够快速追踪与回滚。如果您的团队采用 CI/CD 流程,可以考虑将 YAML 与自动化部署工具结合起来,实现持续交付和环境一致性。原创 2025-06-28 01:00:00 · 416 阅读 · 0 评论 -
【云原生技术】如何查看 Windows 电脑是 AMD64 还是 ARM64
查看你的 Windows 电脑是 AMD64 还是 ARM64原创 2025-06-24 01:00:00 · 910 阅读 · 0 评论 -
【云原生技术】subnet是什么?
**Subnet**(子网)是网络设计中的一个重要概念,它是指一个较大的网络被划分成一个或多个小的、独立的网络段。子网帮助组织优化网络管理、提高安全性、减少网络拥堵,并更有效地分配和使用 IP 地址。### 子网的主要概念1. **IP 地址**: - 每个网络设备在网络中都有一个唯一的 IP 地址。IP 地址由两部分组成:网络部分和主机部分。子网的主要作用就是将一个大 IP 网络细分成更小的网络,从而更好地管理。2. **子网掩码**: - 子网掩码是一个与 IP 地址相配合的数值原创 2025-06-25 01:00:00 · 743 阅读 · 0 评论 -
【云原生技术】Kubernetes 的 YAML 文件是配置文件吗
Kubernetes YAML 文件是用语言编写的文本文件,其主要功能是配置 Kubernetes 资源。通过 YAML 文件,用户可以声明并描述 Kubernetes 中的对象及其据位,包括 Pod、Service、Deployment、ConfigMap、Secret 等等。Kubernetes 的 YAML 文件确实可以视为配置文件,它们用于定义各种资源并描述期望的系统状态。这些文件在 Kubernetes 的管理和运作中发挥着重要的作用,为开发和运维团队提供了灵活性和可管理性。原创 2025-06-26 13:39:07 · 473 阅读 · 0 评论 -
【云原生技术】如何更换 Docker 镜像地址
本文介绍了如何在不同系统中更换Docker镜像地址以提升下载速度。Windows/macOS用户可通过Docker Desktop设置界面修改registry-mirrors参数并重启;Linux用户需编辑/etc/docker/daemon.json文件后重启服务。文章还提供了阿里云、网易、清华大学和中国科技大学等常用镜像加速地址(总字数:150)。原创 2025-06-22 01:30:00 · 352 阅读 · 0 评论 -
【云原生技术】如何实现两个不同 Kubernetes 集群之间的应用相互交互
要实现两个不同 Kubernetes 集群之间的应用相互交互,您需要考虑网络连接、服务发现和安全性等多个因素。以下是一些实现两个 Kubernetes 集群相互交互的常用方法,分别适用于不同的使用场景和架构需求。### 1. **使用 Ingress 进行外部访问**您可以通过为每个集群配置 Ingress 资源,将一个集群的服务暴露到外部网络中,这样另一个集群就可以通过外部地址访问服务。#### 步骤:1. **配置 Ingress 资源**:为需要被访问的服务配置 Ingress。原创 2025-06-27 00:30:00 · 671 阅读 · 0 评论 -
【云原生技术】CRDS是什么?
**CRD** 是 **Custom Resource Definition** 的缩写,中文译为“自定义资源定义”。它是 Kubernetes 的一个重要功能,允许用户创建和管理自定义资源,从而扩展 Kubernetes 的核心功能,让用户能够在 Kubernetes 集群中定义和管理特定于应用程序或组织的资源类型。### CRD 的关键特点1. **扩展 Kubernetes API**: - CRD 允许用户在 Kubernetes 中添加新资源类型,这些资源与 Kubernetes 原原创 2025-06-26 00:30:00 · 602 阅读 · 0 评论 -
【云原生技术】在 Docker 的 `daemon.json` 文件中,如何配置多个选项
在 Docker 的 `daemon.json` 文件中,你可以配置多个选项,例如镜像加速器、默认网络等。以下是一些基本示例,展示如何编写该配置文件。### 示例 `daemon.json` 文本1. **仅设置镜像加速器**: ```json { "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"] } ```2. **同时设置镜像加速器和默认日志驱动**: ```json原创 2025-06-23 00:30:00 · 696 阅读 · 0 评论 -
【云原生技术】ip pool是什么?
**IP Pool**(IP 地址池)是指一组可用于动态分配给网络设备或主机的 IP 地址。IP 地址池通常与 Dynamic Host Configuration Protocol (DHCP) 一起使用,允许网络管理员自动分配和管理网络中的 IP 地址,从而减少手动配置的复杂性和错误。### IP Pool 的主要特点1. **动态分配**: - 使用 IP 地址池,网络中的设备可以在需要时自动获取可用的 IP 地址,而不是手动指定。这种动态分配方式适用于大规模的网络环境。2. **节原创 2025-06-25 00:15:00 · 789 阅读 · 0 评论 -
【云原生技术】kubeconfig是什么?
**kubeconfig** 是 Kubernetes 的配置文件,主要用于存储访问 Kubernetes 集群所需的配置信息。这个文件包含了集群的地址、用户凭证、命名空间及其他配置信息,使得用户能够方便地与一个或多个 Kubernetes 集群进行交互。### kubeconfig 文件的结构kubeconfig 文件通常是一个 YAML 格式的文件,包含多个部分,以下是主要的组成部分:1. **clusters**: - 定义 Kubernetes 集群的列表,包括集群名称及其 API原创 2025-06-26 10:11:37 · 786 阅读 · 0 评论 -
【云原生技术】kubeconfig是什么?
**kubeconfig** 是 Kubernetes 的配置文件,主要用于存储访问 Kubernetes 集群所需的配置信息。这个文件包含了集群的地址、用户凭证、命名空间及其他配置信息,使得用户能够方便地与一个或多个 Kubernetes 集群进行交互。### kubeconfig 文件的结构kubeconfig 文件通常是一个 YAML 格式的文件,包含多个部分,以下是主要的组成部分:1. **clusters**: - 定义 Kubernetes 集群的列表,包括集群名称及其 API原创 2025-06-26 01:00:00 · 612 阅读 · 0 评论 -
【云原生技术】如何在 `10.188.x.x` 网段上部署的应用程序调用 `186.x.x.x` 网段上的 B 平台接口
要在 `10.188.x.x` 网段上部署的应用程序调用 `186.x.x.x` 网段上的 B 平台接口,您可以考虑以下几种方法,以实现网络之间的通信,而无需更改您的平台部署位置。### 方法 1: 使用 NAT (网络地址转换)如果您的网络架构中有可用的 NAT 设备(如边界路由器或防火墙),可以通过 NAT 将来自 `10.188.x.x` 网段的请求转换为 `186.x.x.x` 网段。1. **配置 NAT 设备**: - 在 NAT 设备上设置规则,确保来自 `10.188.x.原创 2025-06-26 10:14:48 · 319 阅读 · 0 评论 -
【云原生技术】在 Windows 上,如何重启 Docker Desktop
在 Windows 上,你可以通过以下方法重启 Docker Desktop:### 使用 Docker Desktop 界面重启1. **右键点击 Docker 图标**: - 在系统托盘(任务栏右下角)找到 Docker 图标,右键点击它。 2. **选择“Restart”**: - 在弹出的菜单中选择 **Restart** 以重启 Docker。### 使用 PowerShell 或命令提示符重启 Docker如果你更喜欢使用命令行,可以通过以下方式重启 Docke原创 2025-06-24 00:15:00 · 439 阅读 · 0 评论 -
【云原生技术】如何从 `10.188.x.x` 网段的应用调用一个只能通过 `186.x.x.x` 网段访问的 B 接口
如果您要从 `10.188.x.x` 网段的应用调用一个只能通过 `186.x.x.x` 网段访问的 B 接口,这意味着 B 接口有网络隔离或策略,要求请求源 IP 必须在 `186` 网段。这种情况下,您可以考虑以下几种解决方案来实现这一需求:### 方案 1: 使用代理服务器1. **在186网段上设置一个代理服务器(如 Nginx 或 HAProxy)**: - 该代理服务器将能够向 B 接口发起请求,且在 `186` 网段上,代理的请求符合接口的访问条件。2. **实现流程原创 2025-06-28 00:15:00 · 1295 阅读 · 0 评论 -
【云原生技术】如何查看你的 `daemon.json` 配置文件的位置
要查看你的 `daemon.json` 配置文件的位置,可以按照以下步骤操作,具体取决于你的操作系统:### Windows1. **Docker Desktop**: - 默认情况下,`daemon.json` 文件在用户目录下,即: ``` C:\Users\<你的用户名>\.docker\daemon.json ``` - 你可以使用文本编辑器(如 Notepad)打开这个文件。2. **通过 Docker Desktop 查看**: - 打原创 2025-06-23 01:00:00 · 488 阅读 · 0 评论