- 分类
- kubernetes
使用 K8S 或 Docker 快速部署 metallb 与 openelb
本文介绍如何用 Ingress 配合负载均衡器替代 NodePort,提升服务可维护性与安全性。前置条件包括已部署 Kubernetes 集群;若 kube-proxy 使用 IPVS 模式,需启用严格 ARP(strictARP: true)。部署流程:先安装 MetalLB(v0.13.9),创建 IPAddressPool 地址池(172.31.0.240-250)并开启 L2Advertisement;再部署 ingress-nginx,使其识别负载均衡 IP。随后创建 Deployment、Service(ClusterIP)和 Ingress 测试访问,注意 Ingress 注解需添加 kubernetes.io/ingress.class: nginx。通过本地 hosts 将域名指向负载均衡 IP,成功访问 Nginx 欢迎页,验证了 MetalLB 与 Ingress 的对接正常。整体方案实现域名请求到服务的智能路由,避免暴露 NodePort 带来的安全和管理问题。
- 2025-01-07
- 369
- 0
- 0
- 60.9℃
Kubernetes构建指南:二进制部署v1.21.x
本文详细介绍了在CentOS 7.9上手动部署高可用Kubernetes集群的完整流程。内容涵盖基础环境配置(主机名、防火墙、SELinux、内核升级、系统优化等),使用HAProxy与Keepalived实现API服务器高可用,部署etcd集群,逐步安装并配置kube-apiserver、kube-scheduler、kube-controller-manager、kubelet、kube-proxy等核心组件,以及集成Calico网络插件和CoreDNS。文中提供了各步骤的配置文件、命令和验证方法,并针对镜像下载受限问题给出了pull.sh同步脚本,最后通过部署nginx服务验证集群功能正常。文章适合希望深入理解Kubernetes组件关系并手动搭建集群的运维人员参考。
- 2025-01-02
- 374
- 0
- 0
- 61.4℃
Kubernetes 之自定义CoreDNS解析
本文详述在 KubeSphere 单机环境下,通过修改 CoreDNS 与 NodeLocalDNS ConfigMap 实现自定义域名解析与重写。核心操作三步:一、配置 CoreDNS `hosts` 插件挂载自定义 hosts 文件实现静态域名解析,并通过 `fallthrough` 保证未匹配请求转发上游;二、配置 `rewrite` 插件将自定义域名(如 `app-redis1.basic.tanqidi.com`)重写为集群内 Service 域名(如 `redis.basic.svc.cluster.local`),实现内外部域名兼容并存;三、修改 NodeLocalDNS 转发目标为 CoreDNS ClusterIP(`forward . 10.233.0.3`)而非节点 resolv.conf,确保自定义规则生效的同时保留本地缓存加速优势。文章深入解析了插件执行顺序与 fallthrough 机制,验证了方案可行性。
- 2024-10-08
- 322
- 0
- 0
- 56.2℃
Kubernetes 网络策略 (Network Policy) 快速入门
本文�详解 Kubernetes NetworkPolicy 核心概念与 YAML 编写实战。前置条件为 CNI 插件需支持该功能。策略通过 `podSelector`(支持 `matchLabels` 与 `matchExpressions` 表达式)选定目标 Pod,再配置 `policyTypes` 指定 `Ingress`(入站)或 `Egress`(出站)方向。
关键规则逻辑:仅声明类型不写规则即“拒绝所有”;`from`/`to` 中 `namespaceSelector` 实现跨命名空间控制;**AND 关系**通过同一列表项下同时写 `namespaceSelector` 与 `podSelector`(无短横线前缀)缩小范围;**OR 关系**通过在 `from`/`to` 列表中新增带短横线的独立项实现多条件并行。文中通过拒绝/允许流量、同命名空间访问、跨命名空间标签组合、复杂出入站双向策略等完整示例,演示了从基础到复杂的网络隔离配置模式。
- 2024-08-27
- 250
- 0
- 0
- 49.0℃