-
Notifications
You must be signed in to change notification settings - Fork 157
Add CSI Windows Support Doc #618
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
Conversation
README.md
Outdated
@@ -64,6 +64,10 @@ This driver supports only one topology key: | |||
`topology.gke.io/zone` | |||
that represents availability by zone (e.g. `us-central1-c`, etc.). | |||
|
|||
### CSI Windows Support | |||
|
|||
GCE PD driver starts to support CSI Windows (alpha) with version v1.0.*. It requires to install [CSI Proxy] (https://github.com/kubernetes-csi/csi-proxy) binary on each Windows node. The latest version of CSI Proxy is Beta. GCE PD driver start to support Beta CSI Proxy starting from v1.1.0. Starting Kubernetes 1.19, CSI Proxy binary is automatically installed during node start up. In Kubernetes 1.20, CSI Proxy will be running a windows service to improve its stablibity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we can make a lot of statements about csi proxy installation. People may not be using kube-up or GKE.
We probably should say that csi-proxy needs to be installed by the cluster distribution/admin on all nodes, and mention that it is installed with kube-up, and plans to be installed automatically by GKE.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
@@ -0,0 +1,27 @@ | |||
# Kubernetes CSI Windowos User Guide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any other steps needed to use windows? Such as StorageClass settings? Can we add example Pod/pvc/storageclass specs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
storage class for linux works just works for linux too.
I will add example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@msau42 Updated the doc. PTAL
examples/demo-windows.yaml
Outdated
metadata: | ||
name: web-windows | ||
spec: | ||
tolerations: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is a blanket toleration a good idea? What about just tolerating the Windows taint? Was there not an admission webhook that automatically adds the toleration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At any rate documenting the assumption about what windows taints are expected might be a good idea?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In OSS, acccording to code https://github.com/kubernetes/kubernetes/search?q=WINDOWS_NODE_TAINTS, test cluster set "node.kubernetes.io/os=win1809:NoSchedule". I think this should be updated for different os windows cluster. follow up with an issue to track it.
In GKE, the related doc is here https://cloud.google.com/kubernetes-engine/docs/how-to/deploying-windows-app
It does not contain any os version information.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the doc, it looks like a toleration is automatically applied by the admission controller? Do we need the pod to explicitly set it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it will be added in GKE, but not gce cluster.
$ GCE_PD_SA_DIR=/my/safe/credentials/directory # Directory to get the service account key | ||
$ GCE_PD_DRIVER_VERSION=alpha # Currently alpha deploy Driver version with Windows Alpha support. Will add beta supporot to beta GCE_PD_DRIVER_VERSION deployment script. | ||
$ ./deploy/kubernetes/deploy-driver.sh | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After install, link to basic.md to create Pod?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated it.
updated the PR. PTAL |
README.md
Outdated
@@ -64,6 +64,10 @@ This driver supports only one topology key: | |||
`topology.gke.io/zone` | |||
that represents availability by zone (e.g. `us-central1-c`, etc.). | |||
|
|||
### CSI Windows Support | |||
|
|||
GCE PD driver starts to support CSI Windows with [CSI Proxy] (https://github.com/kubernetes-csi/csi-proxy). It requires to install csi-proxy.exe binary on each Windows node. Please see more details in CSI Windows page (docs/kubernetes/user-guides/windows.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"It requires csi-proxy.exe to be installed on every Windows node"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated, thanks!
@@ -0,0 +1,33 @@ | |||
# Kubernetes CSI Windowos User Guide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: Windows
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
### Install CSI Proxy binary | ||
CSI proxy can be installed as binary or run as a Windows service on each Windows node. Please see details on CSI Proxy [installation and usage page](https://github.com/kubernetes-csi/csi-proxy/blob/master/README.md#usage). | ||
|
||
If you are using kube-up to start a GCE Kubernetes cluster, starting Kubernetes 1.19, [CSI Proxy Alpha](https://github.com/kubernetes-csi/csi-proxy/releases/tag/v0.1.0) binary is automatically installed during node start up. In Kubernetes 1.20, [CSI Proxy Beta.1 v0.2.1](https://github.com/kubernetes-csi/csi-proxy/releases/tag/v0.2.1) is installed and running as a windows service to improve its stablibity. For GKE cluster, starting from 1.18, CSI proxy will be installed automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would put GKE on a new paragraph to make it stand out more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated.
examples/demo-windows.yaml
Outdated
metadata: | ||
name: web-windows | ||
spec: | ||
tolerations: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the doc, it looks like a toleration is automatically applied by the admission controller? Do we need the pod to explicitly set it?
examples/demo-windows.yaml
Outdated
spec: | ||
accessModes: | ||
- ReadWriteOnce | ||
storageClassName: csi-gce-pd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need storageclass with ntfs fstype?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
before we don't need to. but after controller.yaml is changed to have default fsType to ext4, I think we need fstype in storageclass for Windows
aa4e24a
to
bae60e5
Compare
updated, PTAL |
updated. PTAL |
|
||
If you are using kube-up to start a GCE Kubernetes cluster, starting Kubernetes 1.19, [CSI Proxy Alpha](https://github.com/kubernetes-csi/csi-proxy/releases/tag/v0.1.0) binary is automatically installed during node start up. In Kubernetes 1.20, [CSI Proxy Beta.2 v0.2.2](https://github.com/kubernetes-csi/csi-proxy/releases/tag/v0.2.2) is installed and running as a windows service to improve its stablibity. | ||
|
||
For GKE cluster, starting from 1.18, [CSI Proxy Beta](https://github.com/kubernetes-csi/csi-proxy/releases/tag/v0.2.2) will be installed automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe add a note that for GKE, the driver does not need to be manually installed. Instead, they should use the gcloud api.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry I don't see the update?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry I made this comment too early. now it is updated :)
/release-note-none |
add doc for csi windows support
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jingxu97, msau42 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
add doc for csi windows support
What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: