Hi Devs,

Currently I am working on $subject. In Kubernetes there are 3 kinds of
services types. They are NodePort, ClusterIP and LoadBalancer [1]. At the
moment Stratos supports only NodePort type. My intention is to extend this
to have ClusterIP type as well.

*Why We Need ClusterIP*

1. NodePort type has limited number of ports. i.e 30000 to 32767.
2. There can be situations where we need to expose some ports for
communication between containers only. In this kind of situation we can use
ClusterIP type to save limited port numbers.

*Design Decisions *

1. When creating a cartridge for kubernetes, you need to specify the type
in PortMapping as either NodePort or ClusterIP. This should be done for
every port mapping defined in the cartridge for kubernetes.
2. If you have set the type as ClusterIP, Access URLs are not generated.

*Identified Improvements to be done in the future releases*

1. There is no mechanism to reuse already used port which is vacant.
2. Currently we generate a service for every port mapping. But a service
can have multiple port mappings. We can improve to have a single service
with multiple port mappings.


Please share your thoughts!

[1] -
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/user-guide/services.md#external-services

Thank you!

-- 

*Pubudu Gunatilaka*
Software Engineer
WSO2, Inc.: http://wso2.com
lean.enterprise.middleware
mobile:  +94 77 4078049

Reply via email to