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