创建service

创建Service

1. 通过容器云控制台创建Service

1.1. 在创建工作负载过程中开启Service

登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【工作负载】并选择工作负载类型;

单击【创建】,进入【创建工作负载】页面;

在【扩展配置】选择开启Service,根据实际需求完成参数配置:

  • 名称:设置Service的名称
  • 类型:根据实际需求选择ClusterIP或LoadBalancer类型,ClusterIP类型支持开启Headless Service,LoadBalancer类型分为公网访问和私网访问;
  • 端口映射:根据实际需求配置端口映射规则,映射规则包括名称、服务端口、容器端口和协议;
  • 标签:输入键-值对(Key-Value),为Service设置标签;
  • 注释:输入键-值对(Key-Value),为Service设置注释;

完成工作负载的配置后,单击创建,完成工作负载创建的同时,也会创建相应的Service。

1.2. 为已有工作负载创建Service

登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【网络管理】-【服务】;

单击【创建】,进入【创建Service】页面。根据实际需求,完成参数设置:

  • 名称:设置Service的名称;
  • 命名空间:根据实际需求选择集群下的命名空间;
  • 类型:根据实际需求选择ClusterIP或LoadBalancer类型,ClusterIP类型支持开启headless service,LoadBalancer类型分为公网访问和私网访问;
  • 关联:根据实际需求选择工作负载或选择添加pod标签,工作负载支持无状态和有状态2种;
  • 端口映射:根据实际需求配置端口映射规则,映射规则包括名称、服务端口、容器端口和协议;
  • 标签:输入键-值对(Key-Value),为Service设置标签;
  • 注解:输入键-值对(Key-Value),为Service设置注解;

单击确定,完成Service创建。

2. 通过YAML创建Service

登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【网络管理】-【服务】;

单击【YAML 创建】,完成参数设置:

  • 模板:支持使用容器云提供的系统模板或自定义模板;
  • 模板内容:选择好模板后,在“模板内容”区域可以对模板进行编辑。完成参数设置后,点击“保存模板”可将改动保存到自定义模板;

单击确定,完成Service创建。

如果通过YAML创建私网访问方式的LoadBalancer类型的Service,必须添加annotation(注释):service.kubernetes.io/csk-loadbalancer-type:intranet。

3. 通过kubectl创建Service

YAML示例:

apiVersion: "v1"
kind: "Service"
metadata:
  name: "clusterip"
  namespace: "default"
spec:
  ports:
  - name: "http"
    port: 80
    protocol: "TCP"
    targetPort: 80
  selector:
    app/deployment: "nginx"
  sessionAffinity: "None"
  type: "ClusterIP

参考YAML示例,准备 Service YAML 文件;
安装 kubectl,并连接集群。操作详情请参见 连接集群
执行以下命令,创建 Service YAML 文件;

kubectl  --kubeconfig  KUBECONFIG_NAME create -f Service YAML 文件名称

例如,创建一个文件名为 my-service.yaml 的 Service YAML 文件,则执行以下命令:

kubectl  --kubeconfig  KUBECONFIG_NAME create -f my-service.yaml

执行以下命令,验证创建是否成功;

kubectl  --kubeconfig  KUBECONFIG_NAME get services

返回类似以下信息,即表示创建成功。

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
my-service   ClusterIP   172.16.255.12  <none>        80/TCP    1d14h

个结果匹配 ""

    无结果匹配 ""