自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Prometheus+Grafana+K8s构建监控告警系统

这个文件定义了一个 Grafana 部署,它部署在 xianchaonode1 节点上,使用 grafana/grafana:8.4.5 镜像,并且暴露了一个 NodePort 类型的服务,可以通过集群节点的 IP 和随机分配的端口访问 Grafana 的 Web 界面。它专注于实时监控和告警,特别适合云原生和分布式系统的监控‌。Prometheus通过定期从静态配置的监控目标或基于服务发现自动配置的目标中拉取数据,新拉取到的数据会先存储在内存缓存区,当数据量超过配置阈值时,就会持久化到存储设备中‌。

2025-04-16 22:39:15 1128

原创 kubernetes高级应用(PVC存储)

我用一个简单的比喻来解释 Kubernetes 中的 **PV(Persistent Volume)** 和 **PVC(Persistent Volume Claim)**,帮你轻松理解它们的作用和关系。- **好处**:**用户不用关心存储细节**,K8s 自动匹配和管理,就像租仓库只需提交需求,不用自己盖房子。2. **PVC(Persistent Volume Claim)**:好比是 **租户的申请单**1. **PV(Persistent Volume)**:好比是 **一个真实的仓库**

2025-04-02 15:57:37 1021

原创 Kubernetes高级应用(NFS存储)

在 **Kubernetes(K8s)** 中,**NFS(Network File System)存储** 是一种常见的 **持久化存储(Persistent Storage)** 解决方案,适用于需要共享存储、数据持久化或跨 Pod 访问数据的场景。- 结合 **StorageClass** 和 **NFS Provisioner**,可以实现 **按需自动创建 NFS PV(Persistent Volume)**,避免手动管理存储。

2025-04-02 00:00:28 948

原创 基于kubernetes技术实现蓝绿部署(企业实战)

这个 YAML 文件定义了一个 **Kubernetes 蓝绿部署(Blue-Green Deployment)** 的配置,包含两个 Deployment(`green` 和 `blue`)和一个 Service(`green-port`),全部部署在 `green-blue` 命名空间下。- Service `green-port` 的 `selector` 指向 `color: green`,所有外部请求(通过 `30082` 端口)会被路由到 `green`(v2版本)。

2025-03-30 21:23:33 612

原创 kubernetes高级应用之初始化容器

与常规容器不同,初始化容器必须成功完成才能启动主容器,如果初始化容器失败,Kubernetes会根据Pod的`restartPolicy`策略决定是否重新启动它。| 特性 | 初始化容器 | 主容器 || 执行顺序 | 在主容器之前运行 | 在初始化容器完成后运行 |1. **单一职责**:每个初始化容器应该只完成一个明确的初始化任务。

2025-03-26 23:06:01 977

原创 Kubernetes高级应用之-重启策略

在Kubernetes集群中,Pod重启策略(RestartPolicy)是容器编排系统自愈能力的关键组成部分,它直接决定了容器异常终止后的恢复行为。# Kubernetes Pod重启策略(RestartPolicy)全面解析。- 减少服务中断时间,满足SLA要求(如99.9%可用性)- 通过退避延迟(Back-off)机制避免密集重启。- 7×24小时运行的关键服务(如Nginx、MySQL)- 为故障诊断提供时间窗口(特别是Never策略)- 记录重启次数到Pod状态(restartCount)

2025-03-25 23:06:13 710

原创 kubernetes高级资源之污点和容忍

然后添加精确匹配的容忍(`key: cjr, value: yyj, operator: Equal`),Pod可调度到node2。- **宽松容忍**:使用`operator: Exists`可容忍任意污点(不指定key/value)- 首先添加通用容忍(`operator: Exists`),Pod可调度到node1。- 给node2添加`NoExecute`污点:`c=y:NoExecute`- `NoExecute`:既影响新Pod调度,也会驱逐已运行的不容忍Pod。

2025-03-25 21:55:44 667

原创 kubernetes高级应用前几章整合

**功能**:这个 Pod 使用了 **Node Affinity** 的 **requiredDuringSchedulingIgnoredDuringExecution** 规则。- **功能**:这个 Pod 使用了 **Pod Affinity** 的 **requiredDuringSchedulingIgnoredDuringExecution** 规则。- **作用**:Pod 必须调度到与具有标签 `version=v4` 的其他 Pod 相同的节点上。

2025-03-21 00:22:48 1108

原创 kubernetes高级实战二

`pod-second` 通过 `labelSelector` 匹配 `pod-first` 的标签 `app2=myapp2`。- 由于 `pod-second` 定义了 Pod 亲和性规则,它被调度到与 `pod-first` 相同的节点(`node1`)。- **`pod-first`**:一个简单的 Pod,带有标签 `app2=myapp2` 和 `tier=frontend`。- **`pod-second`**:通过 Pod 亲和性规则,强制调度到与 `pod-first` 相同的节点。

2025-03-20 23:42:44 668

原创 kubernetes高级实战

**`nodeSelector`**:指定 Pod 必须调度到带有 `version=v1` 标签的节点(即 `node2`)。- `operator: In`:标签值必须在 `values` 列表中(即 `foo` 或 `bar`)。- **`nodeName: node1`**:指定 Pod 必须调度到 `node1` 节点。- 由于 `node1` 有 `zone=foo` 标签,Pod 将被调度到 `node1`。- `key: zone1` 和 `key: zone2`:匹配节点的标签。

2025-03-20 23:01:23 912

原创 kubernetes-Namespace(企业实战)

**跨 Namespace 访问**:Service 可以通过 `<service-name>.<namespace-name>.svc.cluster.local` 的形式跨 Namespace 访问。- `LIMIT` 列显示当前 Namespace 中已使用的资源限制量(`0/4` 表示当前没有 Pod 使用 CPU 和内存限制)。- 这是一个 Pod 的定义文件,Pod 的名称为 `pod-test`,部署在 `test` Namespace 中。

2025-03-20 20:46:26 722

原创 kubernetes学习-pod资源

这个配置文件定义了一个名为nginx-test的 Deployment,它会创建 2 个运行镜像的 Pod,每个 Pod 监听 80 端口,并通过标签app: nginx进行管理。

2025-03-20 14:43:24 910

原创 基于kubeadm安装kubernetes1.31和1.32(超级详细)

**Controller Manager**:运行控制器,如Node Controller和Replication Controller。- **容器运行时**:如Docker、containerd,负责运行容器。- **Kube Proxy**:维护节点网络规则,实现服务负载均衡。- **API Server**:集群的前端,处理所有REST请求。- **Kubelet**:管理节点上的Pod和容器。- **etcd**:分布式键值存储,保存集群状态。

2025-03-12 22:48:31 634

原创 docker技术+harbor私有镜像库的安装(二)

Harbor 是一个功能强大且易于使用的企业级 Docker 镜像仓库,适用于需要私有镜像仓库、多团队协作、镜像安全管理的场景。- Harbor 提供了一个集中的镜像仓库,方便企业统一管理 Docker 镜像,避免镜像分散存储。- 支持跨多个 Harbor 实例的镜像复制,适用于多数据中心或混合云场景,确保镜像的高可用性。- **漏洞扫描**:集成 Clair 等工具,支持对镜像进行漏洞扫描,确保镜像的安全性。- 通过漏洞扫描、镜像签名和内容信任功能,确保镜像的安全性,防止恶意镜像的使用。

2025-03-10 22:43:59 783

原创 docker技术+harbor私有镜像库的安装(一)

它提供了镜像的存储、分发、安全管理和用户权限控制等功能,适用于企业级容器化应用的镜像管理。Harbor 是一个功能强大且易于使用的企业级 Docker 镜像仓库,适用于需要私有镜像仓库、多团队协作、镜像安全管理的场景。- **内容信任**:支持 Docker Content Trust(DCT),确保镜像的来源可信。docker tag <镜像名> <Harbor主机名>/<项目名>/<镜像名>:<标签>- **漏洞扫描**:集成 Clair 等工具,支持对镜像进行漏洞扫描,确保镜像的安全性。

2025-03-10 21:59:02 849

原创 Docker高级应用-限制容器的cpu和内存

限制容器的 CPU 和内存资源有助于提升系统的稳定性、性能和安全性,同时优化资源使用和成本控制,便于监控和管理。二、实战部署需要虚拟机在开两个进程用于启动容器和查看虚拟机使用情况可以看出来在设置了两个容器cpu的权重的时候,权重高位的cpu占比高你提供的命令涉及多个 Docker 操作,下面是对每个命令的详细解析:### 1. **创建容器 `docker20`**```bash```- **`docker run`**:创建并启动一个新容器。

2025-03-10 21:17:22 1038

原创 Docker网络模式的运用

**Container** | 容器共享另一个容器的网络栈 | 需要紧密耦合的容器(如Sidecar模式) || **Macvlan** | 容器直接接入物理网络,有独立MAC地址 | 容器需要直接接入物理网络 |- **定义**:容器直接使用宿主机的网络栈,与宿主机共享IP和端口。

2025-03-10 00:37:55 837

原创 Docker技术高级命令运用整理

**`-v /root/mynginx/html:/usr/share/nginx/html`**:将本地的 `/root/mynginx/html` 目录挂载到容器内的 `/usr/share/nginx/html` 目录。- **`--volume test:/usr/share/nginx/html`**:将名为 `test` 的Volume挂载到容器的 `/usr/share/nginx/html` 目录。

2025-03-10 00:20:40 811

原创 使用Dockerfile将python开发的代码做成镜像(企业实战)

*Python** 是一种高级、解释型、通用的编程语言,由 **Guido van Rossum** 于 1991 年首次发布。Python 以其简洁、易读的语法和强大的功能而闻名,广泛应用于 Web 开发、数据分析、人工智能、科学计算、自动化脚本等领域。- Python 拥有庞大的第三方库生态系统(如 NumPy、Pandas、TensorFlow 等),支持各种领域的开发需求。- **人工智能**:TensorFlow、PyTorch、Scikit-learn 等库。

2025-03-09 19:25:09 702

原创 使用Dockerfile将go开发的代码做成镜像(企业实战)

建议设置可信代理,参考文档:[Gin 官方文档](https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies)。- `GOPROXY=https://goproxy.cn,direct` 将 Go 模块的下载代理设置为 `https://goproxy.cn`(一个国内的 Go 模块镜像),以加速模块下载。- Gin 框架注册了一个路由 `/`,对应的处理函数是 `main.statusOKHandler`。

2025-03-09 19:04:32 592

原创 Dockerfile文件构建tomcat服务(企业实战)

*Apache Tomcat** 是一个开源的 **Java Servlet** 容器和 **JavaServer Pages (JSP)** 引擎,由 Apache 软件基金会开发和维护。- 运行 `bin/startup.sh`(Linux/Mac)或 `bin/startup.bat`(Windows)。- 从 [Apache Tomcat 官网](https://tomcat.apache.org/) 下载最新版本。- 启动后,通过 `http://localhost:8080` 访问默认页面。

2025-03-09 17:52:12 511

原创 使用centos系统基于dockerfile文件构建一个nginx镜像

*Nginx**(发音为 "engine-x")是一个高性能的开源 Web 服务器、反向代理服务器、负载均衡器和 HTTP 缓存工具。- **Dockerfile 用于构建 Docker 镜像**:Dockerfile 提供了构建镜像的步骤,Docker 根据这些步骤生成镜像。# 反向代理到上游服务器。- **Docker Images**:容器的模板,包含运行应用程序所需的代码、库和依赖项。- **HTTP 模块**:定义 HTTP 服务器的行为,如虚拟主机、反向代理、负载均衡等。

2025-03-08 20:06:22 961

原创 docker的核心技术-dockerfile文件

*Dockerfile** 是一个文本文件,用于定义如何构建 Docker 镜像。- **CMD** 或 **ENTRYPOINT**:指定容器启动时运行的命令。- 通过合理的指令顺序和多阶段构建,可以减小镜像体积,提升性能。- **COPY** 或 **ADD**:将文件从主机复制到镜像中。- **EXPOSE**:声明容器运行时监听的端口。### **Dockerfile 的基本结构**- **RUN**:执行命令(如安装软件包)。### **Dockerfile 的作用**

2025-03-08 19:35:06 642

原创 docker命令实战运用部署服务

思路:利用centos镜像启动一个容器,可以理解为虚拟机,然后再这个虚拟机里面下载nginx服务,在进行一个页面编写用来检测是否部署成功。有两个选择,一个可以直接通过nginx镜像,另外一个可以通过操作系统,然后在操作系统里面进行一个部署,我们选择使用操作系统。上文是关于docker命令的一些基本命令,启动、停止、删除、查看历史运行的容器、查看正在运行的容器。:以“分离模式”(detached mode)运行容器,即容器在后台运行。:这是 Docker 命令,用于创建并启动一个新的容器。

2025-03-07 16:30:41 904

原创 docker常见的命令(企业实战)

上图是两个重要命令,企业中会经常用到,一个是将离线的镜像进行一个打包,另外一个是将你打包好的镜像进行一个解压缩,因为现在docker的官方镜像地址经常给封锁,所以就需要这两条命令在存在镜像打包起来,然后进行一个离线的解压。- **丰富工具**:Docker Hub等平台提供大量镜像和工具,加速开发和部署。- **安全性**:容器间的隔离增强了安全性,防止一个应用的漏洞影响其他应用。- **社区支持**:活跃的社区和广泛的企业支持,提供丰富的资源和解决方案。

2025-03-07 00:18:31 830

原创 Linux部署docker服务

前两个组件的功能:因为Linux内核在处理网络层面的东西时需要对数据包做一个处理和过滤,所以需要开启ipv4和ipv6的一个hook,然后像k8s如果在使用到网络插件的时候,也需要Linux内核这样子来结果iptable的一个过滤,从而实现网络的一个正常通信。通过容器化技术,Docker 解决了开发、测试和部署环境不一致的问题,使应用程序能够在任何环境中一致运行。Docker 通过容器化技术简化了应用程序的开发、部署和管理,提升了效率和一致性,成为现代软件开发和运维的重要工具。仓库用于存储和分发镜像。

2025-03-06 00:07:48 724

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除