3.0 KiB
PLEASE NOTE: This document applies to the HEAD of the source tree
If you are using a released version of Kubernetes, you should refer to the docs that go with that version.
Documentation for other releases can be found at releases.k8s.io.
Notes on Different UX with rkt container runtime
Doesn't support ENTRYPOINT + CMD feature
To run a Docker image, rkt will convert it into App Container Image (ACI) format first.
However, during the conversion, the ENTRYPOINT and CMD are concatentated to construct ACI's Exec field.
This means after the conversion, we are not able to replace only ENTRYPOINT or CMD without touching the other part.
So for now, users are recommended to specify the executable path in Command and arguments in Args.
(This has the same effect if users specify the executable path + arguments in Command or Args alone).
For example:
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
The above pod yaml file is valid as it's not specifying Command or Args, so the default ENTRYPOINT and CMD of the image will be used.
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
name: busybox
spec:
containers:
- name: busybox
image: busybox
command:
- /bin/sleep
- 1000
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
name: busybox
spec:
containers:
- name: busybox
image: busybox
command:
- /bin/sleep
args:
- 1000
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
name: busybox
spec:
containers:
- name: busybox
image: busybox
args:
- /bin/sleep
- 1000
All the three examples above are valid as they contain both the executable path and the arguments.
apiVersion: v1
kind: Pod
metadata:
name: busybox
labels:
name: busybox
spec:
containers:
- name: busybox
image: busybox
args:
- 1000
The last example is invalid, as we cannot override just the CMD of the image alone.