2024-10-21 myluzh Kubernetes
0x01 关于 kube-prometheus kube-prometheus 通过集成 Prometheus、Grafana 和 Alertmanager,提供开箱即用的 Kubernetes 原生监控解决方案,简化了部署和维护过程,同时具备良好的可扩展性和社区支持。 kube-prometheus 仓库地址 https://github.com/prometheus-operator/kube-prometheus/ 0x02 下载 kube-prometheus 根据自己k8s集群版本兼容性,选择对应的kube-prometheus版本,我这边k8s集群版本是1.20,kube-prometheus支持的是release-0.8,关于k8s版本与kube-prometheus兼容性,可以在kube-prometheus仓库的README中查找。 root@test-k8s-master:~# git clone --single-branch --branch release-0.8 https://github.com/prometheus-operator/kube-prometh...标签: k8s k8s部署 kube-prometheus Prometheus Grafana Alertmanager
2024-9-14 myluzh Kubernetes
0x01 部署Kibana 1、编写yaml文件 apiVersion: v1 kind: Service metadata: name: kibana namespace: elastic-worker labels: k8s-app: kibana kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile kubernetes.io/name: "Kibana" srv: srv-kibana spec: type: NodePort ports: - port: 5601 nodePort: 30000 protocol: TCP targetPort: ui selector: k8s-app: kibana --- apiVersion: apps/v1 kind: Deployment metadata: name: kibana namespace: elastic-worker ...2024-9-14 myluzh Kubernetes
0x00 制作带有证书的镜像 基于 Elasticsearch 的官方镜像创建一个新的自定义镜像,将证书文件包含在内。 1、生成证书 # 创建一个es-temp容器,生成elastic-certificates.p12 docker run -it --name es-temp elasticsearch:7.17.24 bash -c "bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass '' && ls -l config/elastic-certificates.p12" # 把es-temp里面的elastic-certificates.p12复制到本地来 docker cp es-temp:/usr/share/elasticsearch/config/elastic-certificates.p12 ./elastic-certificates.p12 2、构建镜像 FROM elasticsearch:7.17.24 LABEL maintainer="myluzh <...2024-9-6 myluzh Kubernetes
0x00 概述 在 Kubernetes 中,ResourceQuota 和 LimitRange 是两种用于管理命名空间资源使用的重要机制。它们帮助确保集群资源的有效分配,防止资源过度消耗。下面将介绍如何配置这两种机制,并解释它们的相互作用。 ResourceQuota: 适用于整个命名空间,限制命名空间中所有 Pod 的总资源使用量。 如果命名空间中的资源总使用量超出配额,则无法创建新的资源(例如,Pod、服务等)。 LimitRange: 适用于命名空间中的单个 Pod 和容器,确保它们的资源请求和限制在指定的范围内。 如果容器的资源请求或限制超出 LimitRange 定义的范围,Kubernetes 将拒绝 Pod 的创建。 0x01 使用 ResourceQuota 限制命名空间的总资源 ResourceQuota 用于设置一个命名空间中所有资源的总量上限。这包括 CPU、内存、存储、Pod 数量等。它确保命名空间中的资源使用不会超出指定的配额。 apiVersion: v1 kind: ResourceQuota metadata: name: example-quota ...