You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Imesh Gunaratne <im...@apache.org> on 2015/06/07 23:10:31 UTC

[Discuss] Kubernetes API Client & v1beta3 Support

Hi Devs,

As you may already know we implemented our own Kubernetes API client in
Stratos and it is currently using v1beta1 API version. According to
Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
removed at the end of June 2015 [1].

In addition Stratos Kubernetes API client does not include any
authentication features. As a result currently it is not possible to talk
to Kubernetes clusters deployed in Google Cloud which require some means of
authentication (OAuth, API keys, etc).

I did some analysis on the available Kubernetes Java API clients and found
that RedHat has implemented a Kubernetes Java API client [2] for Fabric8
[3]. Kubernetes also has listed it on the API client libraries page [4] and
it is licensed under Apache 2.

I implemented a sample client application using above API client and
currently evaluating the features required by Stratos. It has support for
the latest API version v1beta3 and provides authentication features.

IMO it would be wise for us to use a such a library without maintaining our
own. Please share your thoughts on this.

[1] http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
[2]
https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
[3] http://fabric8.io/
[4]
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md

Thanks

-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Imesh Gunaratne <im...@apache.org>.
Hi Devs,

We have now migrated to Fabric8 Kubernetes API client.

The problem I mentioned above was that some of the Apache CXF dependencies
required by Fabric8 were conflicting with the existing Carbon features. I
talked to the Carbon team and found that Apache CXF Core component cannot
be imported into Carbon runtime as a OSGi bundle at the moment therefore we
need to package required dependencies to the Fabric8 Kubernetes API client.

This modification was verified with Kubernetes 0.19.0 on CoreOS 695.0.0
using single-cartridge sample application.

Changes were pushed to master branch with the following commit revision:
https://git-wip-us.apache.org/repos/asf?p=stratos.git;a=commit;h=3414e7cee8d907e6f8fc66d9118402574a691f89

Thanks

On Fri, Jun 12, 2015 at 1:37 AM, Imesh Gunaratne <im...@apache.org> wrote:

> I migrated existing Kubernetes API client to Fabric8 and found an OSGi
> dependency issue. Will send an update once it is resolved.
>
> Thanks
>
> On Thu, Jun 11, 2015 at 6:30 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> I found an issue in Fabric8 Kubernetes API client and did a fix:
>> https://github.com/fabric8io/origin-schema-generator/pull/50
>>
>> The problem is that it raises a JSON syntax error if CPU or Memory limits
>> are set to a Container when creating a Pod. Other features we need are
>> working as expected.
>>
>> On Wed, Jun 10, 2015 at 5:44 PM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> FYI:
>>>
>>>
>>> ​
>>>
>>> On Tue, Jun 9, 2015 at 5:04 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Thanks Lakmal! I checked all the API operations that we need in Fabric8
>>>> Kubernetes client and they are working fine with the latest Kubernetes
>>>> release 0.18.1 with v1beta3. I'm now in the process of migrating Stratos
>>>> Kubernetes client to Fabric8.
>>>>
>>>> Just FYI: Kubernetes have introduced a security module in Kubernetes
>>>> 0.18.0 release:
>>>> https://github.com/GoogleCloudPlatform/kubernetes/pull/7101
>>>>
>>>> Thanks
>>>>
>>>> On Mon, Jun 8, 2015 at 5:52 AM, Lakmal Warusawithana <la...@wso2.com>
>>>> wrote:
>>>>
>>>>> +1 Imesh, will use Fabric8 kubernetes client.
>>>>>
>>>>> On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hi Devs,
>>>>>>
>>>>>> As you may already know we implemented our own Kubernetes API client
>>>>>> in Stratos and it is currently using v1beta1 API version. According to
>>>>>> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
>>>>>> removed at the end of June 2015 [1].
>>>>>>
>>>>>> In addition Stratos Kubernetes API client does not include any
>>>>>> authentication features. As a result currently it is not possible to talk
>>>>>> to Kubernetes clusters deployed in Google Cloud which require some means of
>>>>>> authentication (OAuth, API keys, etc).
>>>>>>
>>>>>> I did some analysis on the available Kubernetes Java API clients and
>>>>>> found that RedHat has implemented a Kubernetes Java API client [2] for
>>>>>> Fabric8 [3]. Kubernetes also has listed it on the API client libraries page
>>>>>> [4] and it is licensed under Apache 2.
>>>>>>
>>>>>> I implemented a sample client application using above API client and
>>>>>> currently evaluating the features required by Stratos. It has support for
>>>>>> the latest API version v1beta3 and provides authentication features.
>>>>>>
>>>>>> IMO it would be wise for us to use a such a library without
>>>>>> maintaining our own. Please share your thoughts on this.
>>>>>>
>>>>>> [1]
>>>>>> http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
>>>>>> [2]
>>>>>> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
>>>>>> [3] http://fabric8.io/
>>>>>> [4]
>>>>>> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Senior Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Lakmal Warusawithana
>>>>> Vice President, Apache Stratos
>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>> Mobile : +94714289692
>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Imesh Gunaratne <im...@apache.org>.
I migrated existing Kubernetes API client to Fabric8 and found an OSGi
dependency issue. Will send an update once it is resolved.

Thanks

On Thu, Jun 11, 2015 at 6:30 AM, Imesh Gunaratne <im...@apache.org> wrote:

> I found an issue in Fabric8 Kubernetes API client and did a fix:
> https://github.com/fabric8io/origin-schema-generator/pull/50
>
> The problem is that it raises a JSON syntax error if CPU or Memory limits
> are set to a Container when creating a Pod. Other features we need are
> working as expected.
>
> On Wed, Jun 10, 2015 at 5:44 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> FYI:
>>
>>
>> ​
>>
>> On Tue, Jun 9, 2015 at 5:04 PM, Imesh Gunaratne <im...@apache.org> wrote:
>>
>>> Thanks Lakmal! I checked all the API operations that we need in Fabric8
>>> Kubernetes client and they are working fine with the latest Kubernetes
>>> release 0.18.1 with v1beta3. I'm now in the process of migrating Stratos
>>> Kubernetes client to Fabric8.
>>>
>>> Just FYI: Kubernetes have introduced a security module in Kubernetes
>>> 0.18.0 release:
>>> https://github.com/GoogleCloudPlatform/kubernetes/pull/7101
>>>
>>> Thanks
>>>
>>> On Mon, Jun 8, 2015 at 5:52 AM, Lakmal Warusawithana <la...@wso2.com>
>>> wrote:
>>>
>>>> +1 Imesh, will use Fabric8 kubernetes client.
>>>>
>>>> On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Hi Devs,
>>>>>
>>>>> As you may already know we implemented our own Kubernetes API client
>>>>> in Stratos and it is currently using v1beta1 API version. According to
>>>>> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
>>>>> removed at the end of June 2015 [1].
>>>>>
>>>>> In addition Stratos Kubernetes API client does not include any
>>>>> authentication features. As a result currently it is not possible to talk
>>>>> to Kubernetes clusters deployed in Google Cloud which require some means of
>>>>> authentication (OAuth, API keys, etc).
>>>>>
>>>>> I did some analysis on the available Kubernetes Java API clients and
>>>>> found that RedHat has implemented a Kubernetes Java API client [2] for
>>>>> Fabric8 [3]. Kubernetes also has listed it on the API client libraries page
>>>>> [4] and it is licensed under Apache 2.
>>>>>
>>>>> I implemented a sample client application using above API client and
>>>>> currently evaluating the features required by Stratos. It has support for
>>>>> the latest API version v1beta3 and provides authentication features.
>>>>>
>>>>> IMO it would be wise for us to use a such a library without
>>>>> maintaining our own. Please share your thoughts on this.
>>>>>
>>>>> [1]
>>>>> http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
>>>>> [2]
>>>>> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
>>>>> [3] http://fabric8.io/
>>>>> [4]
>>>>> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>>>>>
>>>>> Thanks
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lakmal Warusawithana
>>>> Vice President, Apache Stratos
>>>> Director - Cloud Architecture; WSO2 Inc.
>>>> Mobile : +94714289692
>>>> Blog : http://lakmalsview.blogspot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Imesh Gunaratne <im...@apache.org>.
I found an issue in Fabric8 Kubernetes API client and did a fix:
https://github.com/fabric8io/origin-schema-generator/pull/50

The problem is that it raises a JSON syntax error if CPU or Memory limits
are set to a Container when creating a Pod. Other features we need are
working as expected.

On Wed, Jun 10, 2015 at 5:44 PM, Imesh Gunaratne <im...@apache.org> wrote:

> FYI:
>
>
> ​
>
> On Tue, Jun 9, 2015 at 5:04 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Thanks Lakmal! I checked all the API operations that we need in Fabric8
>> Kubernetes client and they are working fine with the latest Kubernetes
>> release 0.18.1 with v1beta3. I'm now in the process of migrating Stratos
>> Kubernetes client to Fabric8.
>>
>> Just FYI: Kubernetes have introduced a security module in Kubernetes
>> 0.18.0 release:
>> https://github.com/GoogleCloudPlatform/kubernetes/pull/7101
>>
>> Thanks
>>
>> On Mon, Jun 8, 2015 at 5:52 AM, Lakmal Warusawithana <la...@wso2.com>
>> wrote:
>>
>>> +1 Imesh, will use Fabric8 kubernetes client.
>>>
>>> On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Hi Devs,
>>>>
>>>> As you may already know we implemented our own Kubernetes API client in
>>>> Stratos and it is currently using v1beta1 API version. According to
>>>> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
>>>> removed at the end of June 2015 [1].
>>>>
>>>> In addition Stratos Kubernetes API client does not include any
>>>> authentication features. As a result currently it is not possible to talk
>>>> to Kubernetes clusters deployed in Google Cloud which require some means of
>>>> authentication (OAuth, API keys, etc).
>>>>
>>>> I did some analysis on the available Kubernetes Java API clients and
>>>> found that RedHat has implemented a Kubernetes Java API client [2] for
>>>> Fabric8 [3]. Kubernetes also has listed it on the API client libraries page
>>>> [4] and it is licensed under Apache 2.
>>>>
>>>> I implemented a sample client application using above API client and
>>>> currently evaluating the features required by Stratos. It has support for
>>>> the latest API version v1beta3 and provides authentication features.
>>>>
>>>> IMO it would be wise for us to use a such a library without maintaining
>>>> our own. Please share your thoughts on this.
>>>>
>>>> [1]
>>>> http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
>>>> [2]
>>>> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
>>>> [3] http://fabric8.io/
>>>> [4]
>>>> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>>>>
>>>> Thanks
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Lakmal Warusawithana
>>> Vice President, Apache Stratos
>>> Director - Cloud Architecture; WSO2 Inc.
>>> Mobile : +94714289692
>>> Blog : http://lakmalsview.blogspot.com/
>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Imesh Gunaratne <im...@apache.org>.
FYI:


​

On Tue, Jun 9, 2015 at 5:04 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Thanks Lakmal! I checked all the API operations that we need in Fabric8
> Kubernetes client and they are working fine with the latest Kubernetes
> release 0.18.1 with v1beta3. I'm now in the process of migrating Stratos
> Kubernetes client to Fabric8.
>
> Just FYI: Kubernetes have introduced a security module in Kubernetes
> 0.18.0 release:
> https://github.com/GoogleCloudPlatform/kubernetes/pull/7101
>
> Thanks
>
> On Mon, Jun 8, 2015 at 5:52 AM, Lakmal Warusawithana <la...@wso2.com>
> wrote:
>
>> +1 Imesh, will use Fabric8 kubernetes client.
>>
>> On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org> wrote:
>>
>>> Hi Devs,
>>>
>>> As you may already know we implemented our own Kubernetes API client in
>>> Stratos and it is currently using v1beta1 API version. According to
>>> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
>>> removed at the end of June 2015 [1].
>>>
>>> In addition Stratos Kubernetes API client does not include any
>>> authentication features. As a result currently it is not possible to talk
>>> to Kubernetes clusters deployed in Google Cloud which require some means of
>>> authentication (OAuth, API keys, etc).
>>>
>>> I did some analysis on the available Kubernetes Java API clients and
>>> found that RedHat has implemented a Kubernetes Java API client [2] for
>>> Fabric8 [3]. Kubernetes also has listed it on the API client libraries page
>>> [4] and it is licensed under Apache 2.
>>>
>>> I implemented a sample client application using above API client and
>>> currently evaluating the features required by Stratos. It has support for
>>> the latest API version v1beta3 and provides authentication features.
>>>
>>> IMO it would be wise for us to use a such a library without maintaining
>>> our own. Please share your thoughts on this.
>>>
>>> [1]
>>> http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
>>> [2]
>>> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
>>> [3] http://fabric8.io/
>>> [4]
>>> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>>>
>>> Thanks
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Lakmal Warusawithana
>> Vice President, Apache Stratos
>> Director - Cloud Architecture; WSO2 Inc.
>> Mobile : +94714289692
>> Blog : http://lakmalsview.blogspot.com/
>>
>>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Imesh Gunaratne <im...@apache.org>.
Thanks Lakmal! I checked all the API operations that we need in Fabric8
Kubernetes client and they are working fine with the latest Kubernetes
release 0.18.1 with v1beta3. I'm now in the process of migrating Stratos
Kubernetes client to Fabric8.

Just FYI: Kubernetes have introduced a security module in Kubernetes 0.18.0
release:
https://github.com/GoogleCloudPlatform/kubernetes/pull/7101

Thanks

On Mon, Jun 8, 2015 at 5:52 AM, Lakmal Warusawithana <la...@wso2.com>
wrote:

> +1 Imesh, will use Fabric8 kubernetes client.
>
> On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Hi Devs,
>>
>> As you may already know we implemented our own Kubernetes API client in
>> Stratos and it is currently using v1beta1 API version. According to
>> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
>> removed at the end of June 2015 [1].
>>
>> In addition Stratos Kubernetes API client does not include any
>> authentication features. As a result currently it is not possible to talk
>> to Kubernetes clusters deployed in Google Cloud which require some means of
>> authentication (OAuth, API keys, etc).
>>
>> I did some analysis on the available Kubernetes Java API clients and
>> found that RedHat has implemented a Kubernetes Java API client [2] for
>> Fabric8 [3]. Kubernetes also has listed it on the API client libraries page
>> [4] and it is licensed under Apache 2.
>>
>> I implemented a sample client application using above API client and
>> currently evaluating the features required by Stratos. It has support for
>> the latest API version v1beta3 and provides authentication features.
>>
>> IMO it would be wise for us to use a such a library without maintaining
>> our own. Please share your thoughts on this.
>>
>> [1] http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
>> [2]
>> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
>> [3] http://fabric8.io/
>> [4]
>> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>>
>> Thanks
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Kubernetes API Client & v1beta3 Support

Posted by Lakmal Warusawithana <la...@wso2.com>.
+1 Imesh, will use Fabric8 kubernetes client.

On Mon, Jun 8, 2015 at 2:40 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi Devs,
>
> As you may already know we implemented our own Kubernetes API client in
> Stratos and it is currently using v1beta1 API version. According to
> Kubernetes blog, v1beta1 and v1beta2 APIs have been deprecated and will be
> removed at the end of June 2015 [1].
>
> In addition Stratos Kubernetes API client does not include any
> authentication features. As a result currently it is not possible to talk
> to Kubernetes clusters deployed in Google Cloud which require some means of
> authentication (OAuth, API keys, etc).
>
> I did some analysis on the available Kubernetes Java API clients and found
> that RedHat has implemented a Kubernetes Java API client [2] for Fabric8
> [3]. Kubernetes also has listed it on the API client libraries page [4] and
> it is licensed under Apache 2.
>
> I implemented a sample client application using above API client and
> currently evaluating the features required by Stratos. It has support for
> the latest API version v1beta3 and provides authentication features.
>
> IMO it would be wise for us to use a such a library without maintaining
> our own. Please share your thoughts on this.
>
> [1] http://blog.kubernetes.io/2015/04/introducing-kubernetes-v1beta3.html
> [2]
> https://github.com/fabric8io/fabric8/tree/master/components/kubernetes-api
> [3] http://fabric8.io/
> [4]
> https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/client-libraries.md
>
> Thanks
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Lakmal Warusawithana
Vice President, Apache Stratos
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/