I originally started this in another topic and it kept editing it and gradually built it up to this point so I decided to move it here. Your all welcome to give input (if you know kubernetes or not). I know very little so it is pretty much all theory based at the moment.
i've recently been exposed to kubernetes through work, I've not looked into it too much however i'll probably do some more reading around it soon.
I think the general concept is that you can have a cluster which holds one or many pods. The pod(s) are your application(s) (e.g. in our case server.exe?!) and they are run synchronously sharing the load. If one goes down the others will continue to run without any issues.
So this was for @Far (bit in bold)
How do you think the server would cope in it's current state using kubernetes and how much work do you think it would take to get it to a standard that allows it to run synchronously smoothly and error free?
Would love to work with this more for personal projects outside of work to familiarise myself with it and understand how it works. I may get some training if I request to sit in on it at work however I'm only a newbie so depending on budget/ spaces I may not. This is currently the only thing I work on outside of work that I could consider experimenting with using kubernetes (and maybe a reactive website when/if i get around to starting it).
I guess I could start up another project but first i'd have to find something I want to work on. In terms of mir servers; the application of kubernetes would to be able to kill pods that have failed (due to errors) and redeploy them (I don't know yet if this is automatic or manual) however in theory your server would be forever running. Yet unhealthy errors would still need to be caught. It also allows a server owner to make an update without the user suspecting a thing; the new server.exe will be deployed (or several) and then the old ones would be killed off in the process. There may be issue with with client.exe compatibility however i'm sure it could be rolled out so that while an old server has active connection the pod will be kept alive. New connection will be forced to update and connected to the new instance so it will gradually dwindle so that there are no active connections on the old server and it is killed off.
My only issue is that what if you get the case of a user who never logs off? I assume bugs that are fixed server side/ client side which are of big importance will need to be addressed urgently. Currently the crystal patching system just overwrites the old.exe with the new.exe; in this case we can't do that as it will be in use and you can delete the application bla bla bla you get what I mean.
I'm not sure if there is a way to secretly update a client.exe without the user knowing (of course they give consent) so that it's patched as they play. Or if it is possible to have a secondary client.exe download in the background and then the old client.exe picks that up and without the user knowing it automatically migrates them to the new client.exe (this is all theory) however it feel it is still likely to cause disruption (a minor disconnection to reload client.exe's or migrate etc).
P.S. rereading I may have got some terms mixed up, I was in 3-4 hours of meetings today with different terminologies being used. I think pods are the same are containers. I'm not entirely sure; i guess it depends on company models. Today I was in one meeting with AppDynamics representatives who were demoing a plugin to support kubernetes; it caused many headaches with all kinds of terms being thrown around... nodes; pods; clusters; containers; layers; tiers and more >.<
i've recently been exposed to kubernetes through work, I've not looked into it too much however i'll probably do some more reading around it soon.
I think the general concept is that you can have a cluster which holds one or many pods. The pod(s) are your application(s) (e.g. in our case server.exe?!) and they are run synchronously sharing the load. If one goes down the others will continue to run without any issues.
So this was for @Far (bit in bold)
How do you think the server would cope in it's current state using kubernetes and how much work do you think it would take to get it to a standard that allows it to run synchronously smoothly and error free?
Would love to work with this more for personal projects outside of work to familiarise myself with it and understand how it works. I may get some training if I request to sit in on it at work however I'm only a newbie so depending on budget/ spaces I may not. This is currently the only thing I work on outside of work that I could consider experimenting with using kubernetes (and maybe a reactive website when/if i get around to starting it).
I guess I could start up another project but first i'd have to find something I want to work on. In terms of mir servers; the application of kubernetes would to be able to kill pods that have failed (due to errors) and redeploy them (I don't know yet if this is automatic or manual) however in theory your server would be forever running. Yet unhealthy errors would still need to be caught. It also allows a server owner to make an update without the user suspecting a thing; the new server.exe will be deployed (or several) and then the old ones would be killed off in the process. There may be issue with with client.exe compatibility however i'm sure it could be rolled out so that while an old server has active connection the pod will be kept alive. New connection will be forced to update and connected to the new instance so it will gradually dwindle so that there are no active connections on the old server and it is killed off.
My only issue is that what if you get the case of a user who never logs off? I assume bugs that are fixed server side/ client side which are of big importance will need to be addressed urgently. Currently the crystal patching system just overwrites the old.exe with the new.exe; in this case we can't do that as it will be in use and you can delete the application bla bla bla you get what I mean.
I'm not sure if there is a way to secretly update a client.exe without the user knowing (of course they give consent) so that it's patched as they play. Or if it is possible to have a secondary client.exe download in the background and then the old client.exe picks that up and without the user knowing it automatically migrates them to the new client.exe (this is all theory) however it feel it is still likely to cause disruption (a minor disconnection to reload client.exe's or migrate etc).
P.S. rereading I may have got some terms mixed up, I was in 3-4 hours of meetings today with different terminologies being used. I think pods are the same are containers. I'm not entirely sure; i guess it depends on company models. Today I was in one meeting with AppDynamics representatives who were demoing a plugin to support kubernetes; it caused many headaches with all kinds of terms being thrown around... nodes; pods; clusters; containers; layers; tiers and more >.<
Last edited: