[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 edited comment on ISPN-6673 at 7/21/16 4:50 AM:
--------------------------------------------------------------------
THESE ARE WORK IN PROGRESS NOTES
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Note you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
# Now we need to expose a service
{code}
oc expose dc/infinispan-experiments-2
{code}
# At this point we have 2 clusters (the old one with selector {{cluster=cluster-1}} and the new one with selector {{cluster=cluster-2}}). Depending on our client we might want (or not) to expose a route to {{svc/infinispan-experiments-2}} or we are good with just a service.
# Since the [Infinispan Upgrade Procedure|http://infinispan.org/docs/stable/user_guide/user_guide.html#_R...] requires port {{4444}} we need to edit the service in source cluster and add it:
{code}
$ oc edit svc/infinispan-experiments
.. add port 4444 ..
{code}
# Get the IP address for source cluster service ({{svc/infinispan-experiments}})
{code}
oc describe svc/infinispan-experiments
.. write down: IP: 172.30.66.108 ..
{code}
The connection string for the cluster will be {{jmx://172.30.66.108:4444/clustered/default}}
#
was (Author: sebastian.laskawiec):
THIS ARE WORK IN PROGRESS NOTES
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Note you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
# Now we need to expose a service
{code}
oc expose dc/infinispan-experiments-2
{code}
# At this point we have 2 clusters (the old one with selector {{cluster=cluster-1}} and the new one with selector {{cluster=cluster-2}}). Depending on our client we might want (or not) to expose a route to {{svc/infinispan-experiments-2}} or we are good with just a service.
# Since the [Infinispan Upgrade Procedure|http://infinispan.org/docs/stable/user_guide/user_guide.html#_R...] requires port {{4444}} we need to edit the service in source cluster and add it:
{code}
$ oc edit svc/infinispan-experiments
.. add port 4444 ..
{code}
# Get the IP address for source cluster service ({{svc/infinispan-experiments}})
{code}
oc describe svc/infinispan-experiments
.. write down: IP: 172.30.66.108 ..
{code}
The connection string for the cluster will be {{jmx://172.30.66.108:4444/clustered/default}}
#
> 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, 5 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 edited comment on ISPN-6673 at 7/21/16 4:49 AM:
--------------------------------------------------------------------
THIS ARE WORK IN PROGRESS NOTES
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Note you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
# Now we need to expose a service
{code}
oc expose dc/infinispan-experiments-2
{code}
# At this point we have 2 clusters (the old one with selector {{cluster=cluster-1}} and the new one with selector {{cluster=cluster-2}}). Depending on our client we might want (or not) to expose a route to {{svc/infinispan-experiments-2}} or we are good with just a service.
# Since the [Infinispan Upgrade Procedure|http://infinispan.org/docs/stable/user_guide/user_guide.html#_R...] requires port {{4444}} we need to edit the service in source cluster and add it:
{code}
$ oc edit svc/infinispan-experiments
.. add port 4444 ..
{code}
# Get the IP address for source cluster service ({{svc/infinispan-experiments}})
{code}
oc describe svc/infinispan-experiments
.. write down: IP: 172.30.66.108 ..
{code}
The connection string for the cluster will be {{jmx://172.30.66.108:4444/clustered/default}}
#
was (Author: sebastian.laskawiec):
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Note you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
# Now we need to expose a service
{code}
oc expose dc/infinispan-experiments-2
{code}
# At this point we have 2 clusters (the old one with selector {{cluster=cluster-1}} and the new one with selector {{cluster=cluster-2}}). Depending on our client we might want (or not) to expose a route to {{svc/infinispan-experiments-2}} or we are good with just a service.
# Since the [Infinispan Upgrade Procedure|http://infinispan.org/docs/stable/user_guide/user_guide.html#_R...] requires port {{4444}} we need to edit the service in source cluster and add it:
{code}
$ oc edit svc/infinispan-experiments
.. add port 4444 ..
{code}
> 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, 5 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 edited comment on ISPN-6673 at 7/21/16 4:40 AM:
--------------------------------------------------------------------
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Note you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
# Now we need to expose a service
{code}
oc expose dc/infinispan-experiments-2
{code}
# At this point we have 2 clusters (the old one with selector {{cluster=cluster-1}} and the new one with selector {{cluster=cluster-2}}). Depending on our client we might want (or not) to expose a route to {{svc/infinispan-experiments-2}} or we are good with just a service.
# Since the [Infinispan Upgrade Procedure|http://infinispan.org/docs/stable/user_guide/user_guide.html#_R...] requires port {{4444}} we need to edit the service in source cluster and add it:
{code}
$ oc edit svc/infinispan-experiments
.. add port 4444 ..
{code}
was (Author: sebastian.laskawiec):
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Not you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
$ oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
> 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, 5 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 edited comment on ISPN-6673 at 7/21/16 4:27 AM:
--------------------------------------------------------------------
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Not you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Node that you should always be using labels for your clusters. I'll call my cluster=cluster-1
{code}
oc env dc/infinispan-experiments OPENSHIFT_KUBE_PING_LABELS=cluster=cluster-1
oc label dc/infinispan-experiments cluster=cluster-1
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
# Now we can spin up a new cluster. Again, it's very important to use labels which will avoid joining those two clusters together. In my case (just a POC) I will simply export the build configuration and import it back again. However in Production environment you will probably have some changes in your Docker image.
{code}
oc export -o yaml dc/infinispan-experiments > dc_2.yaml
.. edit the name and labels ..
oc create -f dc_2.yaml
{code}
# Now let's verify if everything looks good:
{code}
$ oc status -v
In project My Project (myproject) on server https://192.168.0.17:8443
http://infinispan-experiments-myproject.192.168.0.17.xip.io to pod port 8080-tcp (svc/infinispan-experiments)
dc/infinispan-experiments deploys istag/infinispan-experiments:latest
deployment #3 deployed 7 minutes ago - 1 pod
deployment #2 deployed 8 minutes ago
deployment #1 deployed 38 minutes ago
dc/infinispan-experiments-2 deploys istag/infinispan-experiments:latest
deployment #1 running for 12 seconds - 1 pod
{code}
was (Author: sebastian.laskawiec):
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Not you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
> 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, 5 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 commented on ISPN-6673:
-------------------------------------------
The procedure for OpenShift looks like the following:
# Start OpenShift cluster using:
{code}
oc cluster up
{code}
Not you are logged as a developer.
# Create new Infinispan cluster using standard configuration:
{code}
oc new-app slaskawi/infinispan-experiments
{code}
# Scale up the deployment
{code}
oc scale dc/infinispan-experiments --replicas=3
{code}
# Create a route to the service
{code}
oc expose svc/infinispan-experiments
{code}
# Add some entries using REST
{code}
curl -X POST -H 'Content-type: text/xml' -d 'test' http://infinispan-experiments-myproject.192.168.0.17.xip.io/rest/default/1
{code}
> 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, 5 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:
--------------------------------------
Status: Open (was: New)
> 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, 5 months
[JBoss JIRA] (ISPN-6879) Calculate (and expose) minimum number of nodes for data in Infinispan
by Sebastian Łaskawiec (JIRA)
Sebastian Łaskawiec created ISPN-6879:
-----------------------------------------
Summary: Calculate (and expose) minimum number of nodes for data in Infinispan
Key: ISPN-6879
URL: https://issues.jboss.org/browse/ISPN-6879
Project: Infinispan
Issue Type: Feature Request
Components: Cloud Integrations, Server
Reporter: Sebastian Łaskawiec
With Kubernetes autoscaling we need to be able to tell what is the minimum amount of nodes necessary for hosting data (probably some sort of size + number of nodes estimation).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (ISPN-6878) Use graceful shutdown when shutting down Pod
by Sebastian Łaskawiec (JIRA)
Sebastian Łaskawiec created ISPN-6878:
-----------------------------------------
Summary: Use graceful shutdown when shutting down Pod
Key: ISPN-6878
URL: https://issues.jboss.org/browse/ISPN-6878
Project: Infinispan
Issue Type: Feature Request
Components: Cloud Integrations
Reporter: Sebastian Łaskawiec
When Kubernetes kills a pod it sends a SIGTERM. Infinispan Hot Rod Server should perform a graceful shutdown and make sure it won't lose data.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months