
本文介绍基于cert-manager、Traefik和腾讯云DNSPod实现Let's Encrypt证书自动申请与续期的方案。首先概述架构,包含Kubernetes集群中Traefik、Secret和cert-manager的协作,以及DNS-01验证流程。详细说明证书申请和续期的完整步骤,包括安装cert-manager、配置腾讯云CAM账号并创建Secret、部署webhook、创建ClusterIssuer和Certificate资源。强调自动续期机制(证书到期前30天触发)和故障排查方法。最终实现证书全自动管理,无需人工干预。
Kubernetes探针包括存活、就绪和启动三类,分别负责容器重启、流量摘除和慢启动保护。探测方式有exec、httpGet和tcpSocket,需按场景选择。配置需结合启动窗口、周期、阈值等参数,Java服务常用tcpSocket三探针并给足启动时间,Vue前端用httpGet就绪探测。典型组合包括Spring Boot、MySQL、Nginx等。常见坑有用存活代替就绪、慢启动不配启动探针、探测方式不当、参数过严、就绪依赖外部服务。监控可关注kube_pod_probe_success等指标,排障需查看Events、日志并手动复现。
Kubernetes NetworkPolicy是用于控制Pod间及Pod与外部网络流量的资源对象,类似防火墙规则。其核心模块包括Ingress(入站)、Egress(出站)、CNI插件支持、默认拒绝行为、podSelector、namespaceSelector和ipBlock。常用命令有kubectl apply/get/describe/delete netpol。演示场景涵盖默认全部拒绝、仅允许同命名空间流量、隔离前后端通信、限制出站等。最佳实践示例展示了通过标签选择Pod,结合命名空间选择器和IP块,精细控制特定端口和协议的入站与出站流量,实现多策略组合。
文章介绍了Kubernetes版本升级的注意事项和步骤。升级前需备份组件如etcd,且不可跨两个大版本,需逐版本升级。首先配置阿里云YUM源并更新缓存,然后通过kubectl查看当前版本,使用yum查询目标版本。升级顺序为先master节点:安装对应版本kubeadm,执行kubeadm upgrade plan和apply,多master需额外执行upgrade node,随后驱逐pod并升级kubelet和kubectl,重启服务。再升级所有node节点:安装kubeadm,执行kubeadm upgrade node,驱逐pod后升级kubelet和kubectl并重启。最后检查集群节点版本确认升级成功。
本文介绍Kubernetes新增master节点的步骤:先从已有master节点拷贝所需证书至新节点并创建~/.kube目录,再在已有master上执行kubeadm init phase upload-certs --upload-certs获取证书key,以及kubeadm token create --print-join-command获取token,拼接成包含--control-plane和--certificate-key的join命令执行。同时提醒不要使用--experimental-control-plane,若节点曾部署需先reset。若报错controlPlaneEndpoint不稳定,需编辑kube-system中的kubeadm-config配置,添加已有master地址作为controlPlaneEndpoint后再join。