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

Reply via email to