You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: guides/guide-for-adding-windows-node.md
+12-14Lines changed: 12 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,10 @@
3
3
4
4
You can use Kubernetes to run a mixture of Linux and Windows nodes, so you can mix Pods that run on Linux on with Pods that run on Windows. This is a guide on how to register Windows nodes to your cluster.
5
5
6
+
## Warning
7
+
8
+
> The instructions and scripts in the directory DO NOT configure a CNI solution for Windows nodes running containerd.
9
+
There is a work-in-progress PR to assist in this at https://github.com/kubernetes-sigs/sig-windows-tools/pull/239
6
10
7
11
## Before you begin
8
12
@@ -12,21 +16,17 @@ Your Kubernetes server must be at or later than version 1.22. To check the versi
12
16
13
17
- A Linux-based Kubernetes kubeadm cluster in which you have access to the control plane (see [Creating a single control-plane cluster with kubeadm](https://kubernetes-docsy-staging.netlify.app/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)).
14
18
15
-
16
19
## Objectives
17
20
18
21
- Register a Windows node to the cluster
19
22
- Configure networking so Pods and Services on Linux and Windows can communicate with each other
20
23
21
-
22
24
## Getting Started: Adding a Windows Node to Your Cluster
23
25
24
-
25
26
### Networking Configuration
26
27
27
28
Once you have a Linux-based Kubernetes control-plane node you are ready to choose a networking solution.
28
29
29
-
30
30
#### Configuring Flannel with rancher
31
31
32
32
1. Prepare Kubernetes control plane for Flannel
@@ -61,7 +61,7 @@ net-conf.json: |
61
61
62
62
> **Note:** The VNI must be set to 4096 and port 4789 for Flannel on Linux to interoperate with Flannel on Windows. See the [VXLAN documentation](https://github.com/coreos/flannel/blob/master/Documentation/backends.md#vxlan). for an explanation of these fields.
63
63
64
-
> **Note:** To use L2Bridge/Host-gateway mode instead change the value of `Type` to `"host-gw"` and omit `VNI` and `Port`.
64
+
> **Note:** To use L2Bridge/Host-gateway mode instead change the value of `Type` to `"host-gw"` and omit `VNI` and `Port`.
> **Note:** All code snippets in Windows sections are to be run in a PowerShell environment with elevated permissions (Administrator) on the Windows worker node.
111
+
> **Note:** All code snippets in Windows sections are to be run in a PowerShell environment with elevated permissions (Administrator) on the Windows worker node.
113
112
114
113
1. Install ContainerD, wins, kubelet, and kubeadm.
115
114
@@ -124,22 +123,21 @@ cd .\sig-windows-tools\kubeadm\scripts\
> **Note** If you want to install another version of kubernetes, modify v1.24.3 with the version you want to install
128
-
126
+
> **Note** If you want to install another version of kubernetes, modify v1.24.3 with the version you want to install
129
127
130
128
2. Run `kubeadm` to join the node
131
-
> **Note** Before joining the node, copy the file from /run/flannel/subnet.env to your windows machine to C:\run\flannel\subnet.env
132
-
> You will need to create the folders for it
129
+
130
+
> **Note** Before joining the node, copy the file from /run/flannel/subnet.env to your windows machine to C:\run\flannel\subnet.env
131
+
> You will need to create the folders for it
133
132
134
133
Use the command that was given to you when you ran `kubeadm init` on a control plane host. If you no longer have this command, or the token has expired, you can run `kubeadm token create --print-join-command` (on a control plane host) to generate a new token and join command.
135
134
136
-
> **Note:** Do not forget to add `--cri-socket "npipe:////./pipe/containerd-containerd" --v=5` at the end of the join command, if you use ContainerD
135
+
> **Note:** Do not forget to add `--cri-socket "npipe:////./pipe/containerd-containerd" --v=5` at the end of the join command, if you use ContainerD
137
136
138
137
3. Install kubectl for windows (optional)
139
138
140
139
For more information about it : https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
141
140
142
-
143
141
#### Verifying your installation
144
142
145
143
You should now be able to view the Windows node in your cluster by running:
@@ -154,4 +152,4 @@ If your new node is in the `NotReady` state it is likely because the flannel ima
154
152
kubectl -n kube-system get pods -l app=flannel
155
153
```
156
154
157
-
Once the flannel Pod is running, your node should enter the `Ready` state and then be available to handle workloads.
155
+
Once the flannel Pod is running, your node should enter the `Ready` state and then be available to handle workloads.
Copy file name to clipboardExpand all lines: hostprocess/README.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,19 @@
1
1
# HostProcess examples
2
2
3
3
This contains examples of services running as [HostProcess](https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/)
4
-
containers. HostProcess is an alpha feature in Kubernetes 1.22.
4
+
containers. HostProcess went beta in Kubernetes v1.23 and stable in Kubernetes v1.26.
5
5
6
-
The eventual goal is to move many of these examples to the corresponding repositories.
6
+
The eventual goal is to move many of these examples to the corresponding repositories.
7
7
8
8
## Requirements
9
9
10
-
The CNI examples currently require the containerd 1.6+: https://github.com/containerd/containerd/releases/tag/v1.6.0-beta.1
10
+
HostProcess containers require containerd v1.6 or later.
11
11
12
-
For convenience there is a nightly job in the repository that builds the required components: https://github.com/kubernetes-sigs/sig-windows-tools/releases/tag/windows-containerd-nightly
12
+
For convenience there is a nightly job in the repository that builds the required components: https://github.com/kubernetes-sigs/sig-windows-tools/releases/tag/windows-containerd-nightly.
13
13
14
14
> Docker does not support HostProcess containers. These images will not work with Docker.
15
15
16
-
## Future Improvements
17
-
18
-
These scripts are based off the initial Docker implementation in https://github.com/kubernetes-sigs/sig-windows-tools/tree/master/kubeadm.
19
-
Ideally these should use init containers (possible written in golang) to install and configure the binaries as is done with Linux. Then the
20
-
main container can run the required components for a given CNI.
16
+
## Future Improvements
21
17
22
18
kube-proxy has slightly different configurations (sourcevip as example) across cni's so they are split into separate folder for each. Kubeadm should create and configure kube-proxy for windows appropriately during node initialization.
0 commit comments