Myluzh Blog

K8S 使用临时容器(Ephemeral Containers)

2024-12-4 myluzh Kubernetes

0x01 前言 临时容器主要用于调试和排查问题。当 Pod 中的容器镜像很小,缺少常用工具(如 netstat、curl、ping 等)时,临时容器可以帮助你在不改变 Pod 原有配置的情况下,快速加载这些工具进行诊断。临时容器是独立于 Pod 主容器的,不会影响其运行,可以在需要时添加并删除,便于实时调试和故障排除。 0x02 使用临时容器debug 1、前置条件 (1)临时容器功能是在 Kubernetes v1.16 版本中引入的,确保自己的集群版本号支持:kubectl version --short (2)编辑 kube-apiserver 的配置文件,并添加 --feature-gates=EphemeralContainers=true,然后重启 API server。         要检查是否启用了 EphemeralContainers,你可以运行以下命令:kubectl api-resources | grep ephemeral         如果启用,该命令的输出将包含 ephemeralconta...

阅读全文>>

标签: k8s kubectl debug 临时容器 EphemeralContainers

评论(0) (93)

Prometheus 自动发现 K8S Ingress 下的域名进行黑盒监控

2024-11-21 myluzh Kubernetes

0x01 在prometheus配置中添加自动发现 修改prometheus配置文件prometheus-additional.yaml,我这边只自动发现namespace为dev-test的ingress,其他要求可以按需配置。 # 黑盒监控自定义地址 - job_name: 'blackbox_http' metrics_path: /probe # 指定用于探测的 HTTP 路径 params: module: [http_2xx] # 指定模块,配置在 Blackbox Exporter 的配置文件中 static_configs: - targets: # 定义需要监控的目标地址 - https://www.baidu.com relabel_configs: - source_labels: [__address__] # 使用默认的目标地址 target_label: __param_target # 将目标地址设置为 `target` 参数,供 Blackbox Exporter 使用 - sour...

阅读全文>>

标签: k8s Ingress rbac 黑盒监控 自动发现 权限 prometheu

评论(0) (106)

Prometheus 在 K8S 集群中自动发现常用角色(Role)的解释

2024-11-21 myluzh Kubernetes

0x01 Role概述 在 Prometheus 的 Kubernetes 自动发现(kubernetes_sd_configs)中,有许多常用的 角色(roles),可以用来发现不同类型的 Kubernetes 资源。 自动发现的主要优点: 无需手动更新配置文件,减少运维压力。实时适应动态环境,监控目标自动更新。通过 relabeling 和过滤规则灵活管理目标。适用于大规模和快速变化的环境。如果环境是动态的(如 Kubernetes 集群),自动发现是非常有价值的工具,它让 Prometheus 能更高效、智能地工作,从而减少了监控管理的复杂性。 0x02 Role介绍 以下是常用的自动发现角色以及适用场景。 1. ingress 描述: 用于发现 Kubernetes 中的 Ingress 资源(通常对应 HTTP/HTTPS 的路由)。 应用场景: 动态监控暴露的域名或服务入口,结合 Blackbox Exporter 对域名进行探测。 发现的元数据: __meta_kubernetes_ingress_name:Ingress 名称 __meta_kubernetes_ingress_...

阅读全文>>

标签: k8s Prometheus 监控 自动发现 sd kubernetes_sd_configs

评论(0) (72)

K8S 使用Local Path Storage(本地路径存储)

2024-11-19 myluzh Kubernetes

0x01 概述 Local Path Provisioner 是 Kubernetes 社区支持的解决方案,允许使用节点上的本地磁盘。使用 Local Path Storage(本地路径存储)通过将本地目录(如节点的磁盘目录)用作存储池,可以创建一个基础存储类。Local Path Storage(本地路径存储)是一种轻量级存储方案,通过将节点的本地磁盘目录(如 /mnt/data 等)作为存储池来实现持久化存储。这类存储通常被用作 Kubernetes 集群的基础存储类,特别适合测试环境或轻量级生产场景。它为 Pod 提供了一种简单的持久化存储方式,但由于数据存储在节点本地,并未实现分布式存储,因此不适合高可用或大规模生产环境。 0x02 安装 Local Path Provisioner 1、安装 Local Path Provisioner  root@k8s-master:~# kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-st...

阅读全文>>

标签: k8s pv pvc storageclass 本地路径存储 Local-Path-Storage

评论(0) (120)

K8S部署Elasticsearch集群(Elasticsearch Operator)[ECK]

2024-11-7 myluzh Kubernetes

0x00 关于ECK 对于 Elasticsearch 应用,官方也推出了基于 Kubernetes Operator 的应用:Elastic Cloud on Kubernetes (ECK),用户可使用该产品在 Kubernetes 上配置、管理和运行 Elasticsearch 集群。 0x01 在K8S中部署ECK 由于我这边k8s版本是1.20,所以兼容ECK的版本是2.4.0 root@k8s-master:~# kubectl create -f https://download.elastic.co/downloads/eck/2.4.0/crds.yaml customresourcedefinition.apiextensions.k8s.io/agents.agent.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/beats.beat.k8s.e...

阅读全文>>

标签: k8s 集群 部署 k8s部署 apply elasticsearch elasticsearch7 es ECK Elasticsearch Operator es cluster

评论(2) (133)

K8S部署Nexus3 & 重置Nexus3密码

2024-10-23 myluzh Kubernetes

0x01 部署yaml apiVersion: apps/v1 kind: Deployment metadata: name: nexus3 namespace: base-ops spec: replicas: 1 selector: matchLabels: workload.user.cattle.io/workloadselector: deployment-base-ops-nexus3 strategy: type: Recreate template: metadata: labels: workload.user.cattle.io/workloadselector: deployment-base-ops-nexus3 spec: containers: - name: nexus3 image: sonatype/nexus3:3.37.3 imagePullPolicy: IfNotPresent ...

阅读全文>>

标签: k8s java 部署 k8s部署 nexus nexus3

评论(0) (101)