检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Ingress Ingress是Kubernetes中的一种资源对象,用来管理集群外部访问集群内部服务的方式。您可以通过Ingress资源来配置不同的转发规则,从而根据转发规则访问集群内Pod。本文以Nginx工作负载为例,为您介绍如何使用控制台创建Nginx Ingress。 前提条件
自建Nginx Ingress迁移到ELB Ingress 本文介绍如何从自建Nginx Ingress迁移至ELB Ingress。 ELB Ingress是基于华为云弹性负载均衡(Elastic Load Balance)实现的Ingress服务。相比于自建Nginx Ingress,ELB
DNS概述 工作负载DNS配置说明 使用CoreDNS实现自定义域名解析 使用NodeLocal DNSCache提升DNS性能 父主题: 网络
服务端 监控CoreDNS运行状态 调整CoreDNS部署状态 合理配置CoreDNS 父主题: CoreDNS配置优化实践
优化域名解析请求 选择合适的镜像 避免IPVS缺陷导致的DNS概率性解析超时 使用节点DNS缓存NodeLocal DNSCache 及时升级集群中的CoreDNS版本 谨慎调整VPC和虚拟机的DNS配置 父主题: CoreDNS配置优化实践
设置工作负载基本参数,详情请参见创建工作负载。 在“高级配置”中,选择“DNS配置”页签,并按需填写以下参数。 DNS策略:控制台中提供的DNS策略与YAML中的dnsPolicy字段对应,详情请参见表1。 追加域名解析配置:即dnsPolicy字段设置为ClusterFirst,此时容器中既能够解析service注
访问Service的协议,支持TCP和UDP targetPort: 80 # Service访问目标容器的端口,此端口与容器中运行的应用强相关,如本例中nginx镜像默认使用80端口 selector: # 标签选择器,Service通过
如何驱逐节点上的所有Pod? 您可使用kubectl drain命令从节点安全地逐出所有Pod。 默认情况下,kubectl drain命令会保留某些系统级Pod不被驱逐,例如everest-csi-driver。 使用kubectl连接集群。 查看集群中的节点。 kubectl
开启自动注入后,您可以为DNSConfig自定义以下配置项(插件版本为1.6.7及以上支持): 如果开启自动注入时Pod中已经配置了DNSConfig,则优先使用Pod中的DNSConfig。 域名解析服务器地址nameserver(可选):容器解析域名时查询的DNS服务器的IP地址列表。默认会添加NodeLocal
验证四层会话保持是否开启。 登录ELB控制台找到对应的ELB,并在ELB所在行中单击的对应监听器名称。 查看后端服务器组中,会话保持配置是否开启。 图1 开启四层会话保持 在CCE Turbo集群中开启四层会话保持 在CCE Turbo集群中,Service开启基于源IP的会话保持与ELB类型相关。
ELB Ingress和Nginx Ingress对比 在CCE服务中,集群支持通过Nginx Ingress和ELB Ingress为应用提供7层网络访问。 Nginx Ingress:CCE基于社区的Nginx Ingress Controller进行了优化,并定期同步社区特性和Bug修复。Nginx
Controller 自定义部署Nginx Ingress Controller Nginx Ingress Controller高级配置 父主题: 网络
Ingress对比 ELB Ingress管理 Nginx Ingress管理 自建Nginx Ingress迁移到ELB Ingress 父主题: 网络
节点访问(NodePort) 负载均衡(LoadBalancer) DNAT网关(DNAT) Headless Service 父主题: 网络
自建IDC与CCE集群共享域名解析 自建IDC与CCE集群共享域名解析方案概述 通过DNS Endpoint做级联解析 修改CoreDNS配置直接解析 父主题: 网络
(仅v1.25以下集群需执行)创建Pod安全策略。 在v1.25以下的CCE集群中kube-apiserver开启了Pod安全策略,需要在Pod安全策略的allowedUnsafeSysctls中增加net.core.somaxconn配置才能生效。关于CCE的安全策略介绍请参见Pod安全策略配置。
通过Endpoints就可以实现Readiness Probe的效果,当Pod还未就绪时,将Pod的IP:Port从Endpoints中删除,Pod就绪后再加入到Endpoints中,如下图所示。 图1 Readiness Probe的实现原理 Exec Exec方式与HTTP GET方式一致,如下所示,这个探针执行ls
如果您在创建连接时开启“配置连接侧路由”选项,则不用手动在VPC路由表中配置静态路由,系统会在VPC的所有路由表中自动添加指向ER的路由,目的地址固定为10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。 如果VPC路由表中的路由与这三个固定网段冲突,则会添加失败。此时建议
n 在Pod中访问nginx Pod的ServiceName:Port,会先从CoreDNS中解析出nginx Service的IP地址,然后再访问nginx Service的IP地址,从而访问到nginx Pod。 图1 集群内域名解析示例图 Kubernetes中的域名解析逻辑
CoreDNS配置优化概述 应用场景 DNS是K8s中至关重要的基础服务之一,当容器DNS策略配置不合理,集群规模较大时,DNS容易出现解析超时、解析失败等现象,极端场景下甚至会引起集群内业务大面积解析失败。本文介绍Kubernetes集群中CoreDNS配置优化的最佳实践,帮助您避免此类问题。