Azure Support
Problem Statement
Support the running a kops cluster on Azure. This implementation would model AWS and GCE, and would be awesome!
How
Azure includes full API support for the creation of virtual machines and their scaling groups. There are multiple examples of the 'hard way' but we first can model there managed version.
Why
Why not ? Having AWS, GCE, Azure is the trifecta
Design
TBD
+1 Cloud-agnosticism is a consistent priority I hear from customers deploying K8s. Being able to use Kops across all three would solve a lot of pain.
@robinpercy I have gotten asks from my clients that they want to run on the big three. We got two down, one to go
Great idea! I believe that our first step should be, adding windows nodes support for kops :)
Yes we do need windows node support as well. Will open a separate ticket. I have talked with Microsoft shops who would love that,
No need to open a new one, https://github.com/kubernetes/kops/issues/2422
I've looked at over a dozen K8s installation tools and managed K8s services in the past few months on all major providers. What was painfully clear was the level of fragmentation in the tools and offerings as well as what features are supported. It required a ton of mental energy to translate terms and patterns to get similar output.
We are at a point where focused efforts like this can provide that next level of true abstraction so that administrators/operators can see and manage Kubernetes uniformly--regardless of cloud provider. I think bringing all the advanced features and capabilities (HA, rolling-upgrades, etc) battle-tested in AWS and GCE to Azure is a no-brainer.
@bgeesaman well put - fortunately the coming machine api should help with this, but the installers do have different use cases
We should be building out azure support regardless of windows nodes. We can definitely consider building out windows node support in kops, but I would start with the basics. That is to say, let's build out linux support first because that's what we support on AWS and GCE. That will bring some level of feature parity to the 3 biggies via kops.
I too have clients that need 1 tool to manage all the clusters across these providers and kops is a great way to go. We now have much of the background work done to build a new provider so I think it's quite doable. I'm personally not that up to speed on Azure, but I'd like to see a good "azure-native" implementation to complement aws and gcp. Excited to see this get attention and I'm happy to help.
IMHO, Azure support is a must have! I agree with @geojaz windows support would be nice, but Linux should come first. I'll be interesting to see what changes would be needed in the CLI and API to accomplish this. I'm happy to help as well.
This would be great. There are definitely some companies who prefer Azure to AWS in foreign countries which is where this comes into play a lot. In the U.S.A. there's indifference to some degree in the cloud vendor, but there's certain places globally where the choice has been made for you which we have to respect.
/assign
Yes, I'd love to see us work on this. Azure is doing some very cool stuff, and it would be great to help people to try out Kubernetes on Azure as easily as they can try out AWS & now GCE.
This would be excellent. Windows support isn't important at least initially. People need this for cloud portability(usually because of cost), not OS portability.
@hubt we have had one request for windows which mean x100 have wanted it. But KISS right? And that work can be completed in ||.
@chrislovecnm Is this work active or still awaiting the machine api?
@perryao nobody has started on this, would love someone to pick this up!
I'd like to try my hand at this. I'll work on a rough version over the coming weeks and hopefully come back to discuss design with you @chrislovecnm
@perryao let me know, if you have questions happy to chat with you.
@perryao any news on kops for azure?
@rajeevb2 unfortunately not too much. I have started and have a pretty good feel for what needs to be done, but haven't had enough time to make meaningful progress on it yet. But still a priority for me.
At this point I've just stubbed out the tasks I'll need in cloudup and starting implementing a few interfaces.
@perryao if you want to add a feature flag, please start pushing code. Love to have more than one person working on this if you feel it would help.
Sometimes more people don't help 😆
Happy to help with testing if you need it
@perryao If you would like to have some help on this from the testing and development front, I'd be willing to help out
@chrislovecnm @marc-sensenich thanks guys. I just pushed the initial stuff I did to layout the changes I'd need to make. Here's the diff of where I'm at now: https://github.com/kubernetes/kops/compare/master...perryao:feature/%233957azure-support?expand=1. I'm wrapping up a deliverable at work this week, but I think I should be back to working on this early next week.
Is there any plan for being able to run this on local Hyper-V hosts, with multiple VM's?
@chrislovecnm @perryao -- great start on Azure front. I can help in testing/development front. Let me know how we can sync-up on this front. We have been using KOPS for AWS extensively but we are exploring KOPS for vsphere and Azure.
Any updates on this?
+1
Great start @perryao @chrislovecnm. Happy to help with the testing effort!
+10