Hi, We have another option here which is the extended version of option 2.
Option 3: We are currently developing these custom resources for APIM in Kubernetes. So in these, what we expect from an external user is the Swagger definition. So with this Swagger definition, we deploy a micorgateway for the API. We can use the same approach in here. We can ask the K8s admin users to deploy our API Manager K8s operator. From API Manager, we only need to create relevant custom resources and push to the K8s API server. In this way we can reuse the work we have done so far with APIM K8s CRDs. [1] - https://github.com/wso2/k8s-apim-operator Thank you! On Tue, Jul 23, 2019 at 5:43 PM Sachith Kasthuriarachchi <[email protected]> wrote: > Hi all, > > The private jet mode enables you to deploy APIs in a dedicated Gateway > node in Kubernetes. You do this in instances where the API has specialized > requirements, such as resource isolation or security isolation. When > publishing an API, the publisher can publish the API to a dedicated > gateway. Or else, he can combine multiple APIs and deploy those APIs in a > dedicated gateway. In this case, WSO2 API Microgateway is used as the > gateway. You have the flexibility to run WSO2 API Manager inside the > container management system, as well as externally. Two options are > available for this implementation. > > Option 1 > > - When we create an API in API manager it will create a .balx > - A docker image needs to be created using that .balx and that image > needs to be pushed to the Docker registry. > - There are two methods to implement deployment and service of > Kubernetes(K8s) artifacts > 1. Generate the YAML file and deploy it in K8s so that the customer > can customize the configuration. > 2. Generate definitions directly and deploy in K8s. > > In this method, we can implement a button to download the generated .balx > in the API. For any API, users are able to download the .balx for his API > from the Publisher. > [image: Option1.png] > > > *Pros:* .Balx Can be Downloaded Via User Interface > *Cons:* Increase the size of the product distribution due to Ballerina > dependencies. > > Option 2 > > - When we create an API in the API manager we can > - Generate the YAML and deploy it in K8s. Or, > - Generate definitions directly and deploy in K8s. These > definitions include the Swagger as a config map. > - Then we can mount the above config map in Init container so that the > Microgateway toolkit inside that container can generate the .balx file by > running the Microgateway toolkit. > - Finally, the generated .balx can be passed to the Microgateway > runtime. > > This option is easy to implement but there will be no button in the user > interface to download the .balx. > > [image: Option2.png] > > *Pros:* Easy to implement and manage > *Cons:* Users can not download the .Balx > > Appreciate your thoughts. > -- > *Sachith Kasthuriarachchi *| Engineering Intern | WSO2 Inc > (m) +94 71 694 0826 | (w) www.wso2.com | (e) [email protected] > <[email protected]> > > <http://goog_1559380502> > <http://wso2.com/signature> > -- *Pubudu Gunatilaka* | Associate Technical Lead | WSO2 Inc. (m) +94774078049 | (w) +94112145345 | (e) [email protected] <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
