[JBoss JIRA] (ISPN-6877) Investigate Kubernetes PetSets
by Sebastian Łaskawiec (JIRA)
Sebastian Łaskawiec created ISPN-6877:
-----------------------------------------
Summary: Investigate Kubernetes PetSets
Key: ISPN-6877
URL: https://issues.jboss.org/browse/ISPN-6877
Project: Infinispan
Issue Type: Feature Request
Components: Cloud Integrations
Reporter: Sebastian Łaskawiec
Investigate [Kubernetes PetSets|http://kubernetes.io/docs/user-guide/petset/]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6677) Deal with unavailable dependencies during startup
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-6677?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec commented on ISPN-6677:
-------------------------------------------
It turns out that Init Containers work only for given Pod.
> Deal with unavailable dependencies during startup
> -------------------------------------------------
>
> Key: ISPN-6677
> URL: https://issues.jboss.org/browse/ISPN-6677
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> In Kubernetes not all Pods start at the same time. It is perfectly possible to start first Infinispan and a bit later the database (in this configuration we are assuming that Infinispan has a dependency to DB). Note that this setup would fails.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6876) Investigate Headless Services for using Hot Rod client in client/server mode
by Sebastian Łaskawiec (JIRA)
Sebastian Łaskawiec created ISPN-6876:
-----------------------------------------
Summary: Investigate Headless Services for using Hot Rod client in client/server mode
Key: ISPN-6876
URL: https://issues.jboss.org/browse/ISPN-6876
Project: Infinispan
Issue Type: Feature Request
Components: Cloud Integrations
Reporter: Sebastian Łaskawiec
[Kubernetes headless services|http://kubernetes.io/docs/user-guide/services/#headless-services] expose multiple A records for DNS entry. Can mechanism can be used for connecting Hot Rod clients to the server.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6673) Implement Rolling Upgrades with Kubernetes
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-6673?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec updated ISPN-6673:
--------------------------------------
Description:
There are 2 mechanisms which seems to do the same but are totally different:
* [Kubernetes Rolling Update|http://kubernetes.io/docs/user-guide/rolling-updates/] - replaces Pods in controllable fashon
* [Infinispan Rolling Updgrate|http://infinispan.org/docs/stable/user_guide/user_guide.html#_Ro...] - a procedure for upgrading Infinispan or changing the configuration
Kubernetes Rolling Updates can be used very easily for changing the configuration however if changes are not runtime-compatible, one might loss data. Potential way to avoid this is to use a Cache Store. All other changes must be propagated using Infinispan Rolling Upgrade procedure.
was:
Currently Kubernetes Rolling Upgrades might damage the cluster and cause data loss. The only way to avoid that is to use a Cache Store.
We should instrument the Rolling Upgrades mechanism and indicate when it is safe to scale the cluster in.
> Implement Rolling Upgrades with Kubernetes
> ------------------------------------------
>
> Key: ISPN-6673
> URL: https://issues.jboss.org/browse/ISPN-6673
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> There are 2 mechanisms which seems to do the same but are totally different:
> * [Kubernetes Rolling Update|http://kubernetes.io/docs/user-guide/rolling-updates/] - replaces Pods in controllable fashon
> * [Infinispan Rolling Updgrate|http://infinispan.org/docs/stable/user_guide/user_guide.html#_Ro...] - a procedure for upgrading Infinispan or changing the configuration
> Kubernetes Rolling Updates can be used very easily for changing the configuration however if changes are not runtime-compatible, one might loss data. Potential way to avoid this is to use a Cache Store. All other changes must be propagated using Infinispan Rolling Upgrade procedure.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6675) Better configuration management for Kubernetes
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-6675?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec commented on ISPN-6675:
-------------------------------------------
Creating a new ConfigMap will not propagate updates to the existing Pods (mainly because right now (Kubernetes 1.3) Config Map is not versioned). It also won't trigger redeployment. Those things need to be done manually (using Kubernetes Rolling Updates for example).
> Better configuration management for Kubernetes
> ----------------------------------------------
>
> Key: ISPN-6675
> URL: https://issues.jboss.org/browse/ISPN-6675
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> Currently we either store the configuration in the Docker Image or use system properties to turn the things on/off. Both approaches do not scale.
> There are some other alternatives like [Kubernetes ConfigMap|http://kubernetes.io/docs/user-guide/configmap] which are worth exploring
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months
[JBoss JIRA] (ISPN-6489) Create (or adjust) autoscaling policies in Openshift
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-6489?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec commented on ISPN-6489:
-------------------------------------------
[Kubernetes built-in Autoscaler|http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling] supports setting min/max number of instances. Setting properly the minimum value is the key for having a healthy cluster.
A suggested way to do it is to let Infinispan calculate the minimum topology and invoke Kubernetes API from inside of the Pod (Kubernetes mounts TOKEN for invoking the API in {{/var/run/secrets}}).
> Create (or adjust) autoscaling policies in Openshift
> ----------------------------------------------------
>
> Key: ISPN-6489
> URL: https://issues.jboss.org/browse/ISPN-6489
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
> During the conference [Ray|https://twitter.com/saturnism] mentioned that it would be really nice to have Openshift autoscaling policies for Infinispan based on:
> * number of entries (and/or)
> * memory usage
> Some examples might be found in his repos
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 6 months