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.