On Sun, Oct 20, 2019 at 3:15 PM Pubudu Gunatilaka <[email protected]> wrote:
> Hi, > > Adding @architecture <[email protected]> public mailing list. > > The objective of this project is to remove complexities that users face > while deploying WSO2 products in Kubernetes. The approach is to introduce > custom resources for each product for deploying that product in K8s. For > example, once you have deployed the relevant K8s operator in K8s you can > use the following commands to bring up the simplest product pattern in K8s. > > Option 1: > > kubectl create -f apim.yaml > > > apiVersion: wso2.com/v1alpha1 > > kind: APIManager > > metadata: > > name: "cluster-1" > > spec: > > pattern: Pattern-1 > Option 2: > > kubectl add apimanager cluster-1 > > > > With these commands, you can bring up an API Manager Pattern-1 deployment > in K8s. > > Already released K8s operators for micro integrator and Siddhi are > basically focused on product functionality. From these CRDs what we expect > is to focus on deploying WSO2 products in K8s. > If time permits we may be able to explore the usability improvement angle of our CRDs. Take of look at this Java App CRD [1]. This CRD addresses different state of the deployment. [1] https://docs.google.com/document/d/1StWkgtG20Gq8Udu1_ui7Wb8hTzqR50PwgvY__OdWnpI/edit > > Thank you! > > > > On Fri, Oct 18, 2019 at 3:32 PM Keshiha Jeyatharan <[email protected]> > wrote: > >> Our project is Creating WSO2 Products CRD for Kubernetes to effectively >> deploy WSO2 Products (APIM, IS, EI, SP) in Kubernetes, starting with the >> very first product WSO2 API Manager. Here is the overall diagrammatic >> depiction of the project. >> >> >> >> >> >> The following are the controller artifacts where we deploy those at the >> installation step. For each pattern (1,2,3,4) of API Manager, we will be >> having preconfigured configurations and persistent volume claims with >> relevant components defined for each pattern: >> >> - >> >> API Manager (Publisher, Store, Traffic Manager) >> - >> >> Key Manager >> - >> >> Gateway >> - >> >> API Analytics >> - >> >> MySQL >> >> >> >> In the controller artifacts, we will be having deployment-specific common >> artifacts and product-specific artifacts. >> >> >> 1. >> >> Deployment-specific-configmap >> >> Defines the common specifications such as replicas count, livenessProbe >> and readinessProbe, etc. >> >> 1. >> >> Apim-deployment-specific-configmap >> >> Defines the APIM related only configurations such as memory, CPU, image, >> etc. >> >> >> The final outcome will be, the user being able to execute either 1 of the >> below commands to run WSO2 API Manager. The 2 commands are: >> >> 1. kubectl create -f apim.yaml >> >> >> apiVersion: wso2.com/v1alpha1 >> >> kind: APIManager >> >> metadata: >> >> name: "cluster-1" >> >> spec: >> >> pattern: Pattern-1 >> >> 2. kubectl add apimanager cluster-1 >> >> >> >> Also if they want to deploy other patterns, it can be done by the >> following commands >> >> kubectl add apimanager cluster-2 --pattern=pattern-2 >> >> kubectl add apimanager cluster-3 --pattern=pattern-3 >> >> kubectl add apimanager cluster-4 --pattern=pattern-4 >> >> >> >> Once we deploy the custom resource, it will create deployment, service, >> and ingress for the deployment. Also, controller acts as a template, >> where all the required values are fetched from the relevant Config maps. >> >> >> - >> >> When the users need to update the specifications in config map and >> persistent volume, they can Override the defined configmaps and persistent >> volume claims. >> - >> >> If they want to create totally new config maps and persistent volume >> claims, it is possible via adding new configmaps and persistent volume >> claims >> - >> >> Also if the users want to update the deployment-specific >> configurations such as replicas, livenessProbe etc. it can be done by >> overriding the relevant deployment-specific configurations for a single >> deployment or for all deployments. >> - >> >> Finally, it is also possible for a user to deploy a completely new >> deployment pattern with a new yaml file. >> >> >> Also, the documentation about this project can be found in this link >> <https://docs.google.com/document/d/1XBpdvjGUwqD8ojUBr1EYLMWTUEWkw_vgWDq4DSa3MsY/edit?usp=sharing> >> . >> >> Thank you! >> >> >> -- >> Keshiha Jeyatharan | Intern Engineering | WSO2 Inc. >> (m) +94 76 926 9011 | (e) [email protected] >> > > > -- > *Pubudu Gunatilaka* | Associate Technical Lead | WSO2 Inc. > (m) +94774078049 | (w) +94112145345 | (e) [email protected] > <http://wso2.com/signature> > > -- Deependra Ariyadewa WSO2, Inc. http://wso2.com/ http://wso2.org email [email protected]; cell +94 71 403 5996 ; Blog http://risenfall.wordpress.com/ PGP info: KeyID: 'DC627E6F' *WSO2 - Lean . Enterprise . Middleware*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
