Skip to content
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

Added section on features and limitations, with example yaml files. #1

Merged
merged 10 commits into from
Dec 4, 2017

Conversation

bsteciuk
Copy link

@bsteciuk bsteciuk commented Dec 1, 2017

Added some info on features and limitations, mentioned kubeadm support, some other cosmetic changes.

bsteciuk and others added 4 commits December 1, 2017 16:52
Signed-off-by: Alin Balutoiu <abalutoiu@cloudbasesolutions.com>
Signed-off-by: Alin Gabriel Serdean <aserdean@ovn.org>

The Kubernetes control plane (API Server, Scheduler, Controller Manager, etc) continue to run on Linux, while the kubelet and kube-proxy can be run on Windows Server version 1709.
The Kubernetes control plane (API Server, Scheduler, Controller Manager, etc) continue to run on Linux, while the kubelet and kube-proxy can be run on Windows Server 2016 or later
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we say WS2016 due to the fact that OVS/OVN only require this version of the platform? Or, that initial support will continue to work on WS106?

I'm worried that this will confuse the message above about new platform support with Windows Server version 1709.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OVS/OVN requires Windows Server 2016 or later, that means it also works with Windows Server version 1709.
As far as I know the initial support is still there and should continue working, but @bsteciuk might be a better person to ask for this.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JMesser81 we will continue to support customers that don't want to take a dependency on 1709. we will however stress that 1709 offers significant benefits and that's our recommendation for OS release

**Note:** Windows Server Containers on Kubernetes is a Beta feature in Kubernetes v1.9

## Build
We recommend using the release binaries that can be found at [https://github.com/kubernetes/kubernetes/releases](https://github.com/kubernetes/kubernetes/releases).
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Microsoft perspective, we would like to encourage people to create a Linux cluster and then add Windows nodes to the existing cluster. Perhaps this isn't necessary now that it sounds as though kubeadm integration works with Windows as well. Question: will kubeadm work with any CNI plugin on Windows?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually when people come here it means they already have a Linux cluster and they have a Windows node. I don't think it's even possible to have the all the kubernetes services running on Windows. @bsteciuk can you answer about the question for kubeadm? Thanks!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will let @bsteciuk chime in as well, but @JMesser81 , kubeadm will add the node to your cluster and then you have to explicitly run the commands to set up the CNI

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With kubeadm, the steps would be

  1. Initialize the master with kubeadm (Linux)
  2. Setup CNI based networking (outside of kubeadm)
  3. Join worker nodes to cluster with kubeadm (Linux or Windows)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bsteciuk this is great info. i think we should have it here in the docs as well. cna you please update the PR with this as well?

## Build
We recommend using the release binaries that can be found at [https://github.com/kubernetes/kubernetes/releases](https://github.com/kubernetes/kubernetes/releases).

If you wish to build the code yourself, please follow the next instructions:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We intend to have these instructions included on our MSDN docs page. Those instructions are currently staged here: https://github.com/gkudra-msft/Virtualization-Documentation/blob/kubernetes-docs/virtualization/windowscontainers/kubernetes/compiling-kubernetes-binaries.md

My intent is to have the contents from this PR show up on K8s doc site - Getting Started Guide - and then have links to our MSDN docs for more detailed information such as how to build the binaries. Any concerns?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're referring to to https://github.com/Microsoft/SDN/blob/master/Kubernetes/HOWTO-on-prem.md which was before as MSDN docs, I don't think that's really ok in my opinion.
I mentioned some reasons in the original PR: https://github.com/kubernetes/website/pull/6180/files#r153472849
And besides that you are referencing a master branch of a github repository, there should be at least a different branch.
Any reason not to have those few lines on how to build the code here and to have them somewhere else?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i prefer to keep a single source of truth on how to build K8s for windows in this page. this is a kubernetes docs page after all and we should not be referencing outside if we can avoid it


Each Window Server node should have the following configuration:

The following diagram illustrates the Windows Server networking setup for Kubernetes using Upstream L3 Routing Setup:
![K8s Cluster using L3 Routing with ToR](UpstreamRouting.png)

#### Host-Gateway Topology
This topology is similar to the Upstream L3 Routing topology with the only difference being that static IP routes are configured directly on each cluster node and not in the upstream ToR. Each node uses a local 'l2bridge' network with a Pod CIDR assigned as before and has routing table entries for all other Pod CIDR subnets assigned to the remote cluster nodes.
This topology is similar to the Upstream L3 Routing topology with the only difference being that static IP routes are configured directly on each cluster node and not in the upstream ToR. Each node uses a local 'l2bridge' network with a pod CIDR assigned as before and has routing table entries for all other pod CIDR subnets assigned to the remote cluster nodes.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

@alinbalutoiu alinbalutoiu Dec 4, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only thing that @bsteciuk modified here was pod to Pod in order to address this comment: https://github.com/kubernetes/website/pull/6180/files#r148899310
But the link you want to add it's a fork of the original repo. I would rather post the link from the original repo at least, the fork might be deleted at some point but the main repo should still be there.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we will be merging today to the master repo


1. Linux hosts should be setup according to their respective distro documentation and the requirements of the Kubernetes version you will be using.
2. Configure Linux Master node using steps [here](https://github.com/Microsoft/SDN/blob/master/Kubernetes/HOWTO-on-prem.md)
2. Configure Linux Master node using steps [here](https://github.com/Microsoft/SDN/blob/master/Kubernetes/HOWTO-on-prem.md#prepare-the-master)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to above, I would like to see the changes here rather than on a fork: https://github.com/MicrosoftDocs/Virtualization-Documentation

Copy link

@michmike michmike Dec 4, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i agree with @alinbalutoiu if by here he means to include the docs in this page and not reference something outside

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion since this is the official documentation, it should point to its internals i.e.: https://kubernetes.io/docs/getting-started-guides/scratch/ .

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we will be merging the forked changes to original repo

@JMesser81 JMesser81 merged commit 95638a2 into JMesser81:WSv1709NetUpdates Dec 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants