k3s/pkg/kubelet
Kubernetes Submit Queue 8c6be65f4c
Merge pull request #58720 from joelsmith/ro-vol
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Ensure that the runtime mounts RO volumes read-only

**What this PR does / why we need it**:

This change makes it so that containers cannot write to secret, configMap, downwardAPI and projected volumes since the runtime will now mount them read-only. This change makes things less confusing for a user since any attempt to update a secret volume will result in an error rather than a successful change followed by a revert by the kubelet when the volume next syncs.

It also adds a feature gate `ReadOnlyAPIDataVolumes` to a provide a way to disable the new behavior in 1.10, but for 1.11, the new behavior will become non-optional.

Also, E2E tests for downwardAPI and projected volumes are updated to mount the volumes somewhere other than /etc.

**Which issue(s) this PR fixes**
Fixes #58719 

**Release note**:
```release-note
Containers now mount secret, configMap, downwardAPI and projected volumes read-only. Previously,
container modifications to files in these types of volumes were temporary and reverted by the kubelet
during volume sync. Until version 1.11, setting the feature gate ReadOnlyAPIDataVolumes=false will
preserve the old behavior.
```
2018-02-02 06:42:12 -08:00
..
apis Fix PodPidsLimit and ConfigTrialDuration on internal KubeletConfig type 2018-01-30 11:43:41 -08:00
cadvisor Make eviction manager work with CRI container runtime. 2018-01-30 17:57:46 +00:00
certificate Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
checkpoint Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
client Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
cm Merge pull request #58445 from hanxiaoshuai/typo 2018-01-30 19:44:44 -08:00
config Merge pull request #54913 from chentao1596/kubelet-get-pods-from-path-unused-param 2018-01-24 20:13:13 -08:00
configmap Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
container Merge pull request #58445 from hanxiaoshuai/typo 2018-01-30 19:44:44 -08:00
custommetrics Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
dockershim Merge pull request #59126 from filbranden/ipcs3 2018-02-01 05:53:45 -08:00
envvars Update generated files 2017-11-09 12:14:08 +01:00
events Fixed kubelet error message to be more descriptive. Added Attach success event for help in debugging. 2017-12-15 15:36:59 -08:00
eviction fixing array out of bound by checking initContainers instead of containers 2018-01-25 09:58:51 +01:00
gpu Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
images pkg: kubelet: do not assume anything about images names 2018-01-29 19:58:13 +01:00
kubeletconfig Kubelet flags take precedence 2018-01-29 10:07:37 -08:00
kuberuntime CRI: Add a call to reopen log file for a container 2018-01-29 14:05:38 -08:00
leaky update BUILD files 2017-10-15 18:18:13 -07:00
lifecycle Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
metrics Adds device plugin registration count metric and allocation latency metric. 2017-11-21 13:44:10 -08:00
mountpod Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
network remove unnecessary function getBuggyHostportChain 2018-01-09 10:38:53 +08:00
pleg Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
pod Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
preemption Fix scheduler refs in BUILD files. 2018-01-05 15:05:01 -08:00
prober Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
qos Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
remote Merge pull request #58994 from RobertKrawitz/fake-runtime-start-race-condition-branch 2018-01-31 20:31:50 -08:00
rkt Merge pull request #56960 from islinwb/remove_unused_code_ut_pkg 2018-01-18 02:41:29 -08:00
secret Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
server enable on-demand metrics for eviction 2018-01-08 10:20:02 -08:00
stats Make eviction manager work with CRI container runtime. 2018-01-30 17:57:46 +00:00
status Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
sysctl Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
types Add a container type to the runtime labels 2018-01-23 13:16:36 +01:00
util Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
volumemanager Rename PVCProtection feature gate so that PV protection can share the feature gate with PVC protection 2018-01-31 20:02:01 +08:00
winstats Get windows kernel version directly from registry 2018-01-19 11:09:45 +08:00
BUILD kubelet: remove the rktshim directory 2018-01-26 18:03:34 -08:00
OWNERS
active_deadline.go
active_deadline_test.go
doc.go
kubelet.go Merge pull request #58930 from smarterclayton/background_rotate 2018-02-01 12:05:15 -08:00
kubelet_getters.go Remove hacks added for mesos 2017-12-03 13:52:30 -05:00
kubelet_getters_test.go
kubelet_network.go Remove hacks added for mesos 2017-12-03 13:52:30 -05:00
kubelet_network_test.go Move DNS related kubelet codes into its own package 2017-11-15 10:56:44 -08:00
kubelet_node_status.go Merge pull request #57266 from vikaschoudhary16/unhealthy_device 2018-01-12 19:55:54 -08:00
kubelet_node_status_test.go Revert k8s.gcr.io vanity domain 2017-12-22 14:36:16 -08:00
kubelet_pods.go Ensure that the runtime mounts RO volumes read-only 2018-02-01 10:02:29 -07:00
kubelet_pods_test.go remove useless function hasHostPortConflicts 2017-12-18 16:14:26 +08:00
kubelet_pods_windows_test.go
kubelet_resources.go apimachinery: remove Scheme.DeepCopy 2017-10-06 14:59:17 +02:00
kubelet_resources_test.go
kubelet_test.go Merge pull request #58229 from sjenning/exempt-sandbox-image 2018-01-18 16:36:36 -08:00
kubelet_volumes.go use GetFileType per mount.Interface to check hostpath type 2017-09-26 09:57:06 +08:00
kubelet_volumes_test.go BlockVolumesSupport: CRI, VolumeManager and OperationExecutor changes 2017-11-20 14:10:26 -05:00
oom_watcher.go
oom_watcher_test.go
pod_container_deletor.go
pod_container_deletor_test.go
pod_workers.go kubelet syncPod throws specific events 2017-10-13 10:24:09 -04:00
pod_workers_test.go
reason_cache.go
reason_cache_test.go
runonce.go
runonce_test.go Share /var/lib/kubernetes on startup 2017-08-30 16:45:04 +02:00
runtime.go Remove setInitError. 2018-01-29 21:44:54 -08:00
util.go
volume_host.go enable flexvolume on Windows 2017-12-07 06:24:20 +00:00