更新 deployment 解决 field is immutable 问题


现象在执行./deploy.sh -s | kubectl apply -f -升级CoreDNS过程中,如果遇到以下提示:The Deployment "coredns" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kube

prometheus格式化告警数值


Prometheus 可以使用 $value 变量将当前告警规则表达式的数值输出到告警信息里。但是有些浮点数值位数相当长,非常不便于阅读,对于强迫症患者来说更是不可接受的。如何让告警数值变得 “人类可读” 呢?有如下告警规则,对某个域名进行探测,访问时间超过 0.5秒 且持续 1 分钟以上则发送告警:- name: blackbox-exporter rules: - alert: D

Prometheus-Operator监控kube-controller-manager失败


问题描述: k8s版本1.25.3,kube-controller-manager使用https监听端口10257。监控Target页面显示DOWN,错误提示server returned HTTP status 403 Forbidden,点击metrics url 提示: { "kind": "

Helm内置变量、常用函数


Helm内置变量的使用 https://helm.sh/zh/docs/chart_template_guide/builtin_objects/ Release.Name:实例的名称,helm install指定的名字 Release.Namespace:应用实例的命名空间 Release.IsU

kubeadm部署kubernetes备份etcd


kubeadm部署kubernetes备份etcd 由于kubeadm部署的kubernetes是以容器形式运行etcd,所以在系统中没有etcdctl的命令,如果需要在系统中备份,则可以下载etcd二进制包来使用etcdctl命令。 查看版本下载工具 通过kubectl在容器中执行etcdctl

Kubernetes 的默认 Ingress 类


参考:默认 Ingress 类 你可以将一个特定的 IngressClass 标记为集群默认 Ingress 类。 将一个 IngressClass 资源的ingressclass.kubernetes.io/is-default-class注解设置为true将确保新的未指定ingressClass

Kubernetes之NetworkPolicy隔离服务示例


有一个项目,它有自己的MySQL数据库核Redis缓存中间件,我们只希望这个项目的应用能够访问该中间件。 假如有一个项目需要通过Ingress进行对外发布,我们想要除了Ingress外,其他的Namespace下的Pod都不能访问该项目。 假设有一个项目叫nw-demo,里面部署了三个微服务,分别是

Kubernetes Pod 中多个容器共享进程命名空间


启动进程命名空间共享机制,只需要在 Pod 定义中设置shareProcessNamespace=true即可完成。通过下面例子展示一个 Pod 中两个容器共享进程命名空间的效果,share-process-namespace.yaml 配置文件的内容如下:apiVersion: v1kind: Podmetadata: name: nginxspec: shareProcessNamespa

Kubernetes ResourceQuota 和 LimitRange 实践


根据集群用户数量来调整集群配置,以达到这个目的:能控制特定命名空间中的资源使用量,最终实现集群的公平使用和成本控制。需要实现的功能如下:限制运行状态的 Pod 的计算资源用量。限制持久卷的数量以控制对存储的访问。限制负载均衡器的数量以控制成本。防止滥用网络端口这类稀缺资源。提供默认的计算资源 Requests 以便系统做出更优化的调度。1. 创建命名空间创建名为 quota-example 的命名

Kubernetes资源配额管理(Resource Quotas)


资源配额管理(Resource Quotas)通过 ResourceQuota 对象,可以定义资源配额,这个资源配额可以为每个命名空间都提供一个总体的资源限制:它可以限制命名空间中某种类型的对象的总数量上限,也可以设置命名空间中 Pod 可以使用的计算资源的总上限。在使用资源配额时,需要注意以下两点:如果集群中总的可用资源小于各命名空间中资源配额的总和,那么可能会导致资源竞争。在发生资源竞争时,K