创建服务
Kubernetes中每⼀个工作负载会有⼀个或多个实例(Pod),每个实例(Pod)的IP地址由网络插件动态随机分配(Pod重启后IP地址会改变)。为屏蔽这些后端实例的动态变化和对多实例的负载均衡,引入了服务(Service)这个资源对象。本文将介绍如何创建服务并对外发布应用。
前提条件
- 确保您已经创建SCE集群,具体操作请参阅创建SCE集群。
- 在本地使用命令之前,需要先通过kubectl连接Kubernetes集群。
通过命令创建应用
步骤一:创建Deplyoment
- 登录云容器引擎控制台。
- 在控制台的左侧导航栏中点击“集群” 。
- 在集群列表页面中,单击目标集群的名称进入集群详情界面。
- 在集群管理页面的左侧导航栏中,选择“工作负载” ,然后单击“无状态” 。
- 在无状态页面中单击左上角的“新增YAML” ,本次示例模板是一个Nginx的Deployment,具体内容如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: default
labels:
app: nginx
name: nginx
source: SCE
spec:
replicas: 1
selector:
matchLabels:
app: nginx
name: nginx
template:
metadata:
labels:
app: nginx
name: nginx
source: SCE
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
- 创建完成后可查看该应用。
- 在集群管理页面的左侧导航栏中,选择“工作负载” ,然后单击“无状态” 。
- 在无状态页面中可以查看所有已经创建的Deployment。
- 在目标Deployment项选项卡单击创建好的应用名称 ,查看其详情。
步骤二:创建服务
- 在集群列表页面中,单击目标集群的名称进入集群详情界面。
- 在集群管理页面的左侧导航栏中,选择“网络”,然后单击“服务” 。
- 单击左上角的“创建服务” ,填写基本信息。
- 配置访问信息,选择协议类型TCP或者UDP,容器端口是业务容器对外暴露的端口,服务端⼝是服务对外提供访问的端口,同时支持Session粘连,并且可以指定集群内部的服务IP地址。
- 在工作负载绑定区域内,选择上一步中创建的无状态应用。
- 单击“提交”,完成服务的创建。在服务页面中可以查看所有创建的服务,可以对其进行更新 、删除以及查看YAML等操作。