summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authork8s-ci-robot <k8s-ci-robot@users.noreply.github.com>2018-01-24 09:36:39 -0800
committerGitHub <noreply@github.com>2018-01-24 09:36:39 -0800
commitf671ef00ce00211fdc9580a7393e3a699dcc3af1 (patch)
treed89584a95d4e9e1188587da63f1acd7fb23d7b38
parentf2e062f4c628f4e0c059887072d1c2fbdd660d10 (diff)
parent6cdc5eaa05146ee04378a66f5edce18da5958fbc (diff)
Merge pull request #1656 from PatrickLang/sigwindows-progressupdate
Adding trello board and API list draft
-rw-r--r--sig-windows/README.md7
-rw-r--r--sig-windows/api-tracking.md76
2 files changed, 82 insertions, 1 deletions
diff --git a/sig-windows/README.md b/sig-windows/README.md
index 43692084..381dc0a3 100644
--- a/sig-windows/README.md
+++ b/sig-windows/README.md
@@ -53,7 +53,12 @@ Some additional guides are available, but may refer to older releases:
## Contributing
-If you'd like to fix open bugs, comment on proposals or just track the project, please check [Open Code Issues and PRs for SIG/Windows](https://github.com/kubernetes/kubernetes/labels/sig%2Fwindows) on GitHub.
+We're currently using a public [Trello board](https://trello.com/b/rjTqrwjl/windows-k8s-roadmap) in the weekly SIG-Windows meeting to track items with active progress for each release. That's a great place to start to get the most up-to-date status, then feel free to join us on the Slack channel anytime with questions.
+
+As always, you can also find the active list of open issues and proposals [Open Code Issues and PRs for SIG/Windows](https://github.com/kubernetes/kubernetes/labels/sig%2Fwindows) on GitHub.
+
+## API tracking
+We also have an [API tracking](https://github.com/kubernetes/community/blob/master/sig-windows/api-tracking.md) document that we're building out to track areas where the APIs may not be implemented or need to change for Windows.
## Meeting Recordings
diff --git a/sig-windows/api-tracking.md b/sig-windows/api-tracking.md
new file mode 100644
index 00000000..34052adc
--- /dev/null
+++ b/sig-windows/api-tracking.md
@@ -0,0 +1,76 @@
+# Windows & Kubernetes APIs
+
+This document will grow into an API by API list of work that needs to be done to clarify Windows & Linux differences. This will be used to help clarify what needs to be eventually implemented (need a tracking issue), or not implemented (need a doc note).
+
+
+## Volumes
+
+`V1.Pod.Volumes`
+
+Out of the various volume types, these should all be possible on Windows but tests are lacking:
+
+- EmptyDirVolumeSource
+- Secret
+- hostPath
+
+The main gaps in Windows Server 2016 & 1709 are that symlinks are pretty much broken. The only ones that work are SMB/CIFS mount points. Workarounds need to be investigated.
+
+`V1.Container.volumeMounts`
+Mounting volumes across some (but not all) containers will need changes to Windows. Not ready in Windows Server 2016/1709.
+
+### Links
+
+- [FlexVolume does not work on Windows node](https://github.com/kubernetes/kubernetes/issues/56875)
+- [feature proposal add SMB(cifs) volume plugin](https://github.com/kubernetes/kubernetes/issues/56005)
+- [add NFS volume support for Windows](https://github.com/kubernetes/kubernetes/issues/56188)
+
+## V1.Pod.Resources & V1.Container.ResourceRequirements
+
+`V1.Container.ResourceRequirements.limits.cpu`
+`V1.Container.ResourceRequirements.limits.memory`
+
+Windows schedules CPU based on CPU count & percentage of cores. We need this represented because it can help optimize app performance. CPU count is immutable once set but you can change % of core allocations.
+
+`V1.Container.ResourceRequirements.requests.cpu`
+`V1.Container.ResourceRequirements.requests.memory`
+
+Also of note, requests aren't supported. Will pod eviction policies in the kubelet ensure reserves are met by not overprovisioning the node?
+
+Windows can either expose a NUMA topology matching the host (best performance) or fake it to be 1 big NUMA node (suboptimal). We should think of a way to turn this on/off later - probably q2 2018
+
+### Links
+[Kubernetes Container Runtime Interface (CRI) doesn't support WindowsContainerConfig and WindowsContainerResources](https://github.com/kubernetes/kubernetes/issues/56734)
+
+
+
+## Networking features
+
+`V1.Pod.dnsPolicy` - I think only ClusterFirst is implemented
+
+`V1.Pod.hostNetwork` - Not feasible on Windows Server 2016 / 1709
+
+## IPC & Pid
+
+`V1.Pod.hostIPC`, `v1.pod.hostpid`
+
+How important are these? They're not implemented in Windows Server 2016 / 1709, and I'm not too sure if they'd be helpful or not.
+
+For cases where a pod/container need to talk to the host docker / containerd daemon we could map a named pipe as a volume which would offer the same functionality as the unix socket to the Linux daemons. It works in moby but isn't hooked up in the kubelet yet.
+
+## Security
+
+- `V1.Container.SecurityContext.Capabilities`
+- `V1.Container.SecurityContext.seLinuxOptions`
+
+These don't have Windows equivalents since the permissions model is substantially different
+
+`V1.Container.SecurityContext.readOnlyRootFilesystem`
+
+This is probably doable if needed but not possible in Windows Server 2016 / 1709.
+
+### User Mapping
+
+There are a few fields that refer to uid/gid. These probably need to be supplemented with a Windows SID (string) and username (string)
+
+`V1.podSecurityContext.runAsUser` provides a UID
+`V1.podSecurityContext.supplementalGroups` provides GID \ No newline at end of file