tigera/docs

[Feature] add a supplement to the Calico for Windows, Install using Operator

Opened this issue · 2 comments

[background]

I am building a Windows-supported Kubernetes cluster with OCI.
OKE, OCI's managed Kubernetes, does not support Windows, so the Cluster API is used to build the cluster.
I thought it would be nice to have a supplement there, so I'd like to include it in the documentation if you don't mind.

[ex]

  • I want to post a link to the CRD for Installation. The example creates a minimally configured installation, but understanding more parameters in advance will make it easier to build.
  • I want to add a note that calico-node-windows crashed because it could not build a virtual network when the VXLAN Adapter is not described in the Installation CRD.

I would like to create a PR once I get your review.

Hi @tozastation, thanks for your interest in contributing! I'd be happy to help out and review your PR!

I want to post a link to the CRD for Installation. The example creates a minimally configured installation, but understanding more parameters in advance will make it easier to build.

I agree, and I think the best way is to have a section of the Calico for Windows docs explaining the process on OKE, much like we currently have for RKE (https://docs.tigera.io/calico/latest/getting-started/kubernetes/windows-calico/rancher)

I want to add a note that calico-node-windows crashed because it could not build a virtual network when the VXLAN Adapter is not described in the Installation CRD.

Can you help out with logs for the calico-node-windows when the crash occurs? There might very well be code changes possible to make the process more robust. What's the value that you needed to have in VXLANAdapter? (perhaps this is best suited for an issue in the calico code repo, let's sync up on slack and I may ask you to file one there)

Again, thanks! Looking forward to reviewing your PR!

@coutinhop
thank you !
It looks like this
(1)
Sure, I think good idea to add OCI Section.
There are Calico Document on OCI Cluster API Docs. But, I also want section how to install by operator. I'm worrying which one to add.

reference:
OCI Cluster API Docs Link
https://oracle.github.io/cluster-api-provider-oci/gs/create-windows-workload-cluster.html

(2)
The assumption is that if Installation -> WindowsNodeSpec -> VXLANAdapter in TigeraOperator's CRD is an empty value, the VXLANAdapter set in calico-node-windows will also be empty.
In initializing on node container, node-service.ps1 script make a container network. But, if VXLAN_ADAPTER is empty, New-HNSNetwork command continues to fail by AdapterName flag is empty. In that time, I used Get-NetAdapter to search adapter name and set Ethernet 2 value.

reference:
Tigera Operator's Installation CRD
https://github.com/tigera/operator/blob/master/api/v1/installation_types.go#L808
New-HNSNetwork part on calico-node-windows
https://github.com/projectcalico/calico/blob/master/node/windows-packaging/CalicoWindows/node/node-service.ps1#L91
OCI Cluster API Provider: Windows Cluster Sample YAML
https://github.com/oracle/cluster-api-provider-oci/blob/main/templates/cluster-template-windows-calico.yaml#L382