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

Add support for Windows hostprocess containers #2732

Merged
merged 29 commits into from
Sep 18, 2023

Conversation

coutinhop
Copy link
Member

@coutinhop coutinhop commented Jul 11, 2023

Description

Add support for Windows hostprocess containers

  • Remove calico windows upgrader code
  • Add windows calico-node daemonset with hostprocess containers
    (rendered only if enabled by setting WindowsDataplane to 'HNS' in the Installation).

Manually tested with a clean installation and VXLAN setup and images
from projectcalico/calico#7857.

For PR author

  • Tests for change.
  • If changing pkg/apis/, run make gen-files
  • If changing versions, run make gen-versions

For PR reviewers

A note for code reviewers - all pull requests must have the following:

  • Milestone set according to targeted release.
  • Appropriate labels:
    • kind/bug if this is a bugfix.
    • kind/enhancement if this is a a new feature.
    • enterprise if this PR applies to Calico Enterprise only.

- Add windows calico-node daemonset with hostprocess containers.
- Add windows kube-proxy daemonset using sig-windows hostprocess
  container image.
- Add optional (required only for windows) fields KUBERNETES_SERVICE_CIDR
  and KUBERNETES_DNS_SERVERS to kubernetes-services-endpoint configmap.

Manually tested with a clean installation and VXLAN setup and images
from projectcalico/calico#7857. Still a work
in progress.

Pending:
- Tests for windows calico-node rendering (pkg/render/windows_test.go)
- Possibly make CNI BIN and CONF dirs configurable for Windows in the
  installation
- Possibly roll out our own kube-proxy image instead of using the one
  from sig-windows
- Possibly adding an initContainer to clean up "old" style non-HPC
  Calico installations before proceeding
…rd v1.7+).

Don't render windows daemonset if disabled in installation resource.
…template).

Add Calico Windows render default config UT case.

Add VXLANMACPrefix to WindowsConfig.

Make getCalicoIPAM() an isolated function like buildHostLocalIPAM() so they both behave similarly.
Add degraded message for unsupported encapsulation on windows to core_controller.

Add explicti MTU, Calico CNI on EKS and AmazonVPC CNI tests to windows_test.go.
…d fix file paths to make them compatible with v1.6
…etworks plugin to node clusterrole when on EE.

Fix CNI paths and template in order for HPC to work with containerd v1.6.
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
pkg/controller/installation/windows_controller.go Outdated Show resolved Hide resolved
- Move validation out of windows_controller
- Remove unnecessary env vars from windows node containers
- Test adjustments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants