IBM Multicloud Manager services overview

An IBM Multicloud Manager service can be one of the following types: Kubernetes service, Kubernetes ingress, or Istio Gateway. An IBM Multicloud Manager service runs on a single managed cluster or on multiple managed clusters. They support Kubernetes services, Kubernetes ingress services, and Istio Gateway services.

The following sections provide a summary of the types of services that are available for IBM Multicloud Manager.

Kubernetes service

A service resource is a Kubernetes service resource. Edit the spec section of your service definition yaml file to define your service with labels. The following example shows a Kubernetes service resource:

  apiVersion: v1
  kind: Service
  metadata:
    annotations:
      mcm.ibm.com/service-discovery: "{}"
    name: dbservice
    namespace: database
  spec:
    type: LoadBalancer
    ports:
    - name: http
      nodePort: 8080
      port: 8000
      protocol: TCP
    selector:
      app: dbservice

Ingress service

An Ingress service is a Kubernetes ingress that defines the criteria where the services on the managed cluster can communicate with other managed clusters. Edit the spec section of your ingress service definition yaml file to define your Ingress rules. See the following sample of an Ingress service definition:

  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: dbing
    namespace: database
    annotations:
      mcm.ibm.com/service-discovery: "{}"
  spec:
    rules:
    - host: mydb.database.mcm.svc
      http:
        paths:
        - path: /db
          backend:
           serviceName: dbservice
           servicePort: 8000

Gateway service

A gateway service is used to define an Istio gateway. An Istio gateway is used to expose an Istio service outside of the Istio service mesh. You must enable an Istio gateway to expose an Istio service. Edit the spec section of your Istio gateway definition yaml file to define your gateway.

See the following sample gateway service:

  apiVersion: networking.istio.io/v1alpha3
  kind: Gateway
  metadata:
    name: dbgateway
    namespace: database
  spec:
    selector:
      istio: ingressgateway
    servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
      - "mydb.database.global"

See Working with IBM Multicloud Manager service discovery for more information about the services.