通过CCE使用K8S_Service
更新时间:2025-06-14
概述
用户在Kubernetes中可以部署各种容器,其中一部分是通过HTTP、HTTPS协议对外提供七层网络服务,另一部分是通过TCP、UDP协议提供四层网络服务。而Kubernetes定义的Service资源就是用来管理集群中四层网络的服务访问。
Kubernetes的ServiceTypes允许指定Service类型,默认为ClusterIP类型。ServiceTypes的可取值以及行为描述如下:
类型 | 说明 |
---|---|
ClusterIP | 通过集群的内部 IP 暴露服务。当您的服务只需要在集群内部被访问时,请使用该类型。该类型为默认的 ServiceType。 |
NodePort | 通过每个集群节点上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到 ClusterIP 服务,该 ClusterIP 服务会自动创建。通过请求 注意:除了测试以及非生产环境以外,不推荐在生产环境中直接通过集群节点对外甚至公网提供服务。从安全上考虑,使用该类型会直接暴露集群节点,容易受到攻击。 |
LoadBalancer | 使用百度智能云的负载均衡器,可以向公网或者内网暴露服务。负载均衡器可以路由到 NodePort 服务,或直接转发到容器中。具体使用方式,请参考通过YAML创建LoadBalancer_Service。 |
创建服务
- 登录百度智能云官网,并进入管理控制台。
- 选择“产品导览>容器>容器引擎”,单击进入容器引擎管理控制台。
- 单击左侧导航栏中的“集群管理>集群列表”。
- 在集群列表页面中,单击目标集群名称进入集群管理页面。
- 在集群管理页面单击“网络>服务”进入服务列表页面。
方式一:通过控制台服务
单击“创建服务”,进入创建服务页面,设置服务相关的参数。
配置项 | 描述 | 示例 |
---|---|---|
服务名称 | 输入Service(服务)的名称 | my-nginx-svc |
服务类型 | 支持三种模式,分别对接不同来源和类型的客户端的访问:集群内访问(ClusterIP)、节点端口访问(NodePort)、负载均衡(LoadBalancer) | 无 |
IP 双栈配置 | 单栈:单栈 Service,控制面使用第一个配置的服务集群 IP 范围为 Service 分配集群 IP; 双栈:启用双栈时,同时从 IPv4 和 IPv6 的地址范围中分配 Service 的 .spec.clusterIPs。 如果双栈未被启用或不被支持,则 Service API 对象创建失败; 偏好双栈:启用双栈时,为 Service 同时分配 IPv4 和 IPv6 集群 IP 地址。 如果双栈未被启用或不被支持,则会返回到单栈行为; |
无 |
服务关联 | 选择服务要绑定的后端应用。若不进行关联部署,则不会创建相关的Endpoints对象。 | 名称:app、值:nginx |
端口映射 | 添加服务端口和容器端口,容器端口需要与后端的Pod中暴露的容器端口一致 | 服务端口:80、容器端口:80、协议:TCP |
注解 | 为该服务添加一个注解(Annotation),配置负载均衡的参数。 | 无 |
方式二:使用Yaml创建服务
单击“Yaml创建资源”进入新建服务页面指定服务类型并完成其他配置。
单击“确定”按钮完成服务创建。
修改服务
在服务列表页面,选择目标服务单击“修改”按钮,完成修改后,点击“更新”按钮完成修改。
删除服务
在服务列表页面,选择目标服务单击“删除”按钮,确认信息后,点击“确认”完成删除。