-
Notifications
You must be signed in to change notification settings - Fork 820
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docs Fleet add section about RollingUpdate fields #1228
Conversation
Requested and more details and logs here: |
Build Succeeded 👏 Build Id: 08d3be35-737e-4e35-bcfd-2a677d5dc1da The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
|
||
1. Adds the `maxSurge` number of `GameServers` to the Fleet. | ||
1. Shutdown the `maxUnavailable` number of `GameServers` in the Fleet, skipping `Allocated` `GameServers`. | ||
1. Repeat above steps until all the previous `GameServer` configurations have been `Shutdown` and deleted. | ||
|
||
{{< alert title="Note" color="info">}} | ||
When fleet update contains changes of `replicas` parameter, than new gameservers would be created/deleted straight away, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just making a note from a conversation in chat - looks like this isn't 100% accurate, since you can get rolling updates even with a replica
change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, if there is only replicas
change then there would be fast scale up, say from 3 to 30. If replicas
+ label
then it would go stepwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gentle bump on this - should we be adding some changes to the above to document the chat conversation we had?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, definitely. Editing this
b042525
to
e24a408
Compare
Build Succeeded 👏 Build Id: abdc41df-54a6-4e81-a1af-1403c91964f0 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just some suggested editing.
{{< alert title="Note" color="info">}} | ||
When `Fleet` update contains only changes to `replicas` parameter, than new gameservers would be created/deleted straight away, | ||
which means in that case `maxSurge` and `maxUnavailable` steps parameters will not be used. | ||
Thus RollingUpdate strategy takes place when you update only not `replicas` parameters. If you update `replicas` parameter and some other parameters, then it could be a case when more than `maxSurge` parameters GameServers would be created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thus RollingUpdate strategy takes place when you update only not `replicas` parameters. If you update `replicas` parameter and some other parameters, then it could be a case when more than `maxSurge` parameters GameServers would be created. | |
The RollingUpdate strategy takes place when you update `spec` parameters other than `replicas`. |
|
||
1. Adds the `maxSurge` number of `GameServers` to the Fleet. | ||
1. Shutdown the `maxUnavailable` number of `GameServers` in the Fleet, skipping `Allocated` `GameServers`. | ||
1. Repeat above steps until all the previous `GameServer` configurations have been `Shutdown` and deleted. | ||
|
||
{{< alert title="Note" color="info">}} | ||
When `Fleet` update contains only changes to `replicas` parameter, than new gameservers would be created/deleted straight away, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When `Fleet` update contains only changes to `replicas` parameter, than new gameservers would be created/deleted straight away, | |
When `Fleet` update contains only changes to the `replicas` parameter, then new GameServers will be created/deleted straight away, |
|
||
1. Adds the `maxSurge` number of `GameServers` to the Fleet. | ||
1. Shutdown the `maxUnavailable` number of `GameServers` in the Fleet, skipping `Allocated` `GameServers`. | ||
1. Repeat above steps until all the previous `GameServer` configurations have been `Shutdown` and deleted. | ||
|
||
{{< alert title="Note" color="info">}} | ||
When `Fleet` update contains only changes to `replicas` parameter, than new gameservers would be created/deleted straight away, | ||
which means in that case `maxSurge` and `maxUnavailable` steps parameters will not be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
which means in that case `maxSurge` and `maxUnavailable` steps parameters will not be used. | |
which means in that case `maxSurge` and `maxUnavailable` parameters for a RollingUpdate will not be used. |
which means in that case `maxSurge` and `maxUnavailable` steps parameters will not be used. | ||
Thus RollingUpdate strategy takes place when you update only not `replicas` parameters. If you update `replicas` parameter and some other parameters, then it could be a case when more than `maxSurge` parameters GameServers would be created. | ||
|
||
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used with. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used with. | |
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used. |
Thus RollingUpdate strategy takes place when you update only not `replicas` parameters. If you update `replicas` parameter and some other parameters, then it could be a case when more than `maxSurge` parameters GameServers would be created. | ||
|
||
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used with. | ||
Do not change `replicas` field manually when you use `kubectl edit fleet` for a fleet which is controlled by a Fleetautoscaler. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not change `replicas` field manually when you use `kubectl edit fleet` for a fleet which is controlled by a Fleetautoscaler. | |
Do not change the `replicas` field manually when you use `kubectl edit fleet` for a fleet which is controlled by a Fleetautoscaler. |
If you want to update a `Fleet`, which has `RollingUpdate` replacement strategy and is controlled by a `FleetAutoscaler`, you could omit `Replicas` parameter in a `Fleet` Spec. | ||
Otherwise fleet would be scaled according to Fleet `Replicas` parameter first and only after certain amount of time it would be rescaled to fit `FleetAutoscaler` `BufferSize` parameter. | ||
If you want to update a `Fleet` which has `RollingUpdate` replacement strategy and is controlled by a `FleetAutoscaler`: | ||
1. With `kubectl apply`: you should omit `replicas` parameter in a `Fleet` Spec before creating this `Fleet`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. With `kubectl apply`: you should omit `replicas` parameter in a `Fleet` Spec before creating this `Fleet`. | |
1. With `kubectl apply`: you should omit `replicas` parameter in a `Fleet` Spec before re-applying the `Fleet` configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Used your suggestion.
1. With `kubectl apply`: you should omit `replicas` parameter in a `Fleet` Spec before creating this `Fleet`. | ||
1. With `kubectl edit`: you should not change `replicas` parameter in a `Fleet` Spec when updating other field parameter. | ||
|
||
If you follow both rules above, then `maxSurge` and `maxUnavaiable` parameters would be used and update would actually be a RollingUpdate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you follow both rules above, then `maxSurge` and `maxUnavaiable` parameters would be used and update would actually be a RollingUpdate. | |
If you follow the rules above, then `maxSurge` and `maxUnavaiable` parameters will be used as the RollingUpdate strategy updates your Fleet. |
1. With `kubectl edit`: you should not change `replicas` parameter in a `Fleet` Spec when updating other field parameter. | ||
|
||
If you follow both rules above, then `maxSurge` and `maxUnavaiable` parameters would be used and update would actually be a RollingUpdate. | ||
Otherwise fleet would be scaled according to Fleet `replicas` parameter first and only after certain amount of time it would be rescaled to fit `FleetAutoscaler` `BufferSize` parameter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise fleet would be scaled according to Fleet `replicas` parameter first and only after certain amount of time it would be rescaled to fit `FleetAutoscaler` `BufferSize` parameter. | |
Otherwise the Fleet would be scaled according to Fleet `replicas` parameter first and only after certain amount of time it would be rescaled to fit `FleetAutoscaler` `BufferSize` parameter. |
If you follow both rules above, then `maxSurge` and `maxUnavaiable` parameters would be used and update would actually be a RollingUpdate. | ||
Otherwise fleet would be scaled according to Fleet `replicas` parameter first and only after certain amount of time it would be rescaled to fit `FleetAutoscaler` `BufferSize` parameter. | ||
|
||
You could also check the behaviour of the Fleet with Fleetautoscaler on a test `Fleet` to see what you would get on your production environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could also check the behaviour of the Fleet with Fleetautoscaler on a test `Fleet` to see what you would get on your production environment. | |
You could also check the behaviour of the Fleet with Fleetautoscaler on a test `Fleet` to preview what would occur on your production environment. |
c631361
to
813e0bf
Compare
Build Succeeded 👏 Build Id: 5f98a027-d3c1-4247-9127-a81f1fdcedee The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
Resolved all the comments. The most tricky one was:
I also think that should be like this.
|
Build Failed 😱 Build Id: 06cfcf1a-03b0-4519-a59d-2f46927a8d32 To get permission to view the Cloud Build view, join the agones-discuss Google Group. |
813e0bf
to
afaa2c1
Compare
Build Succeeded 👏 Build Id: 03dfb967-eca5-4205-b8a9-3082beb1606a The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
Issue in website check:
|
afaa2c1
to
b4c6556
Compare
Build Succeeded 👏 Build Id: 5ed57b2f-1ab0-468d-b2d7-bd4302ce7315 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
b4c6556
to
65b944e
Compare
Build Succeeded 👏 Build Id: d05747c5-8de0-4226-a658-12b827c97ef8 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
65b944e
to
6df259f
Compare
Build Succeeded 👏 Build Id: 08436151-aaa7-4a55-9716-9f20311a9c1a The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like this much better!
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used. | ||
Do not change the `replicas` field manually when you use `kubectl edit fleet` for a fleet which is controlled by a Fleetautoscaler. | ||
|
||
[Read Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Read Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details. | |
[Read the Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details. |
|
||
[Read Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details. | ||
|
||
You could also check the behaviour of the Fleet with RollingUpdate strategy on a test `Fleet` to preview your upcoming updates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could also check the behaviour of the Fleet with RollingUpdate strategy on a test `Fleet` to preview your upcoming updates. | |
You could also check the behaviour of the Fleet with a RollingUpdate strategy on a test `Fleet` to preview your upcoming updates. |
[Read Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details. | ||
|
||
You could also check the behaviour of the Fleet with RollingUpdate strategy on a test `Fleet` to preview your upcoming updates. | ||
Use `kubectl describe fleet` to track scaling events in a fleet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use `kubectl describe fleet` to track scaling events in a fleet. | |
Use `kubectl describe fleet` to track scaling events in a Fleet. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing this throughout a file
which means in that case `maxSurge` and `maxUnavailable` parameters for a RollingUpdate will not be used. | ||
The RollingUpdate strategy takes place when you update `spec` parameters other than `replicas`. | ||
|
||
For the case when you want to be flexible on Fleet size, Fleetautoscaler and your prefer `kubectl apply` Fleet config with omitted `replicas` parameter should be used. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure I understand this sentence (and maybe the next one)
Could this be something more like:
If you are using a Fleet which is scaled by a FleetAutoscaler, [read the Fleetautoscaler guide]({{< relref "../Getting Started/create-fleetautoscaler.md#7-change-autoscaling-parameters" >}}) for more details on how RollingUpdates with FleetAutoscalers need to implemented.
Rather than writing the same documentation twice?
(If I'm hitting the idea of what you were trying to say)
Gentle bump on this - would be good to have this in next week's RC release. |
6df259f
to
6f3fa20
Compare
Thanks @markmandel on updates. |
Build Succeeded 👏 Build Id: a0a39eba-85d7-47de-b446-fe8ea5e57449 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
RollingUpdate is not working when replicas number is updated.
6f3fa20
to
8c81cbb
Compare
Build Succeeded 👏 Build Id: 4f91fb34-3a6c-4f68-8c53-207c6e3e3b4b The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔥
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aLekSer, markmandel The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
New changes are detected. LGTM label has been removed. |
Build Succeeded 👏 Build Id: 06c88139-f6ae-4574-8904-07455ecc43d2 The following development artifacts have been built, and will exist for the next 30 days:
A preview of the website (the last 30 builds are retained): To install this version:
|
RollingUpdate is not working when replicas number is updated. Co-authored-by: Mark Mandel <[email protected]>
RollingUpdate is not working when replicas number is updated.