mirror of
https://github.com/kata-containers/kata-containers.git
synced 2026-01-24 22:15:40 +00:00
kata-deploy: try-kata-values.yaml -> values.yaml
This makes the user experience better, as the admin can deploy Kata Containers without having to download / set up any additional file. Of course, if the admin wants something more specific, examples are provided. Tests and documentation are updated to reflect this change. Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
This commit is contained in:
@@ -503,10 +503,11 @@ function helm_helper() {
|
||||
popd
|
||||
|
||||
# Create temporary values file for customization
|
||||
# Start with an appropriate example values file based on the hypervisor type
|
||||
# Start with values.yaml which has all shims enabled by default
|
||||
# Use example files only for specific hypervisor types that need different configurations
|
||||
values_yaml=$(mktemp -t values_yaml.XXXXXX)
|
||||
|
||||
# Determine which example values file to use as base
|
||||
# Determine which values file to use as base
|
||||
local base_values_file="${helm_chart_dir}/values.yaml"
|
||||
if [[ -n "${KATA_HYPERVISOR}" ]]; then
|
||||
case "${KATA_HYPERVISOR}" in
|
||||
@@ -522,12 +523,6 @@ function helm_helper() {
|
||||
base_values_file="${helm_chart_dir}/try-kata-tee.values.yaml"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Use all shims example file for standard hypervisors
|
||||
if [[ -f "${helm_chart_dir}/try-kata.values.yaml" ]]; then
|
||||
base_values_file="${helm_chart_dir}/try-kata.values.yaml"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ defaultShim:
|
||||
1. **Per-shim configuration**: Each shim can have its own settings for snapshotter, guest pull, agent proxy, etc.
|
||||
2. **Architecture-aware**: Shims declare which architectures they support
|
||||
3. **Type safety**: Structured format reduces configuration errors
|
||||
4. **Better defaults**: Shims are disabled by default, requiring explicit enablement
|
||||
4. **Easy to use**: All shims are enabled by default in `values.yaml`, so you can use the chart directly without modification
|
||||
|
||||
### Example: Enable `qemu` shim with new format
|
||||
|
||||
@@ -256,25 +256,38 @@ defaultShim:
|
||||
|
||||
The chart maintains full backward compatibility with the legacy `env.*` format. If legacy values are set, they take precedence over the new structured format. This allows for gradual migration.
|
||||
|
||||
### Example Values Files
|
||||
### Default Configuration
|
||||
|
||||
To make it easier to try out Kata Containers, we provide several example values files:
|
||||
|
||||
#### `try-kata.values.yaml` - All Shims Enabled
|
||||
|
||||
This file enables all available Kata Containers shims, making it easy to try out all runtime options:
|
||||
The default `values.yaml` file has **all shims enabled by default**, making it easy to use the chart directly without modification:
|
||||
|
||||
```sh
|
||||
helm install kata-deploy oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy \
|
||||
--version VERSION \
|
||||
-f try-kata.values.yaml
|
||||
--version VERSION
|
||||
```
|
||||
|
||||
This includes:
|
||||
This includes all available Kata Containers shims:
|
||||
- Standard shims: `qemu`, `qemu-runtime-rs`, `clh`, `cloud-hypervisor`, `dragonball`, `fc`
|
||||
- TEE shims: `qemu-snp`, `qemu-tdx`, `qemu-se`, `qemu-se-runtime-rs`, `qemu-cca`, `qemu-coco-dev`, `qemu-coco-dev-runtime-rs`
|
||||
- NVIDIA GPU shims: `qemu-nvidia-gpu`, `qemu-nvidia-gpu-snp`, `qemu-nvidia-gpu-tdx`
|
||||
|
||||
To enable only specific shims, you can override the configuration:
|
||||
|
||||
```yaml
|
||||
# Custom values file - enable only qemu shim
|
||||
shims:
|
||||
qemu:
|
||||
enabled: true
|
||||
clh:
|
||||
enabled: false
|
||||
cloud-hypervisor:
|
||||
enabled: false
|
||||
# ... disable other shims as needed
|
||||
```
|
||||
|
||||
### Example Values Files
|
||||
|
||||
For convenience, we also provide example values files that demonstrate specific use cases:
|
||||
|
||||
#### `try-kata-tee.values.yaml` - Trusted Execution Environment Shims
|
||||
|
||||
This file enables only the TEE (Trusted Execution Environment) shims for confidential computing:
|
||||
@@ -337,10 +350,73 @@ The kata-deploy script will no longer create `runtimeClasses`
|
||||
|
||||
## Example: only `qemu` shim and debug enabled
|
||||
|
||||
Since all shims are enabled by default, you need to disable the ones you don't want:
|
||||
|
||||
```sh
|
||||
# Using --set flags (disable all except qemu)
|
||||
$ helm install kata-deploy \
|
||||
--set shims.clh.enabled=false \
|
||||
--set shims.cloud-hypervisor.enabled=false \
|
||||
--set shims.dragonball.enabled=false \
|
||||
--set shims.fc.enabled=false \
|
||||
--set shims.qemu-runtime-rs.enabled=false \
|
||||
--set shims.qemu-nvidia-gpu.enabled=false \
|
||||
--set shims.qemu-nvidia-gpu-snp.enabled=false \
|
||||
--set shims.qemu-nvidia-gpu-tdx.enabled=false \
|
||||
--set shims.qemu-snp.enabled=false \
|
||||
--set shims.qemu-tdx.enabled=false \
|
||||
--set shims.qemu-se.enabled=false \
|
||||
--set shims.qemu-se-runtime-rs.enabled=false \
|
||||
--set shims.qemu-cca.enabled=false \
|
||||
--set shims.qemu-coco-dev.enabled=false \
|
||||
--set shims.qemu-coco-dev-runtime-rs.enabled=false \
|
||||
--set debug=true \
|
||||
"${CHART}" --version "${VERSION}"
|
||||
```
|
||||
|
||||
Or use a custom values file:
|
||||
|
||||
```yaml
|
||||
# custom-values.yaml
|
||||
debug: true
|
||||
shims:
|
||||
qemu:
|
||||
enabled: true
|
||||
clh:
|
||||
enabled: false
|
||||
cloud-hypervisor:
|
||||
enabled: false
|
||||
dragonball:
|
||||
enabled: false
|
||||
fc:
|
||||
enabled: false
|
||||
qemu-runtime-rs:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-snp:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-tdx:
|
||||
enabled: false
|
||||
qemu-snp:
|
||||
enabled: false
|
||||
qemu-tdx:
|
||||
enabled: false
|
||||
qemu-se:
|
||||
enabled: false
|
||||
qemu-se-runtime-rs:
|
||||
enabled: false
|
||||
qemu-cca:
|
||||
enabled: false
|
||||
qemu-coco-dev:
|
||||
enabled: false
|
||||
qemu-coco-dev-runtime-rs:
|
||||
enabled: false
|
||||
```
|
||||
|
||||
```sh
|
||||
$ helm install kata-deploy \
|
||||
--set env.shims="qemu" \
|
||||
--set env.debug=true \
|
||||
-f custom-values.yaml \
|
||||
"${CHART}" --version "${VERSION}"
|
||||
```
|
||||
|
||||
|
||||
@@ -12,7 +12,36 @@ snapshotter:
|
||||
setup: []
|
||||
|
||||
# Enable NVIDIA GPU shims
|
||||
# First disable all shims (since values.yaml enables all by default)
|
||||
shims:
|
||||
clh:
|
||||
enabled: false
|
||||
cloud-hypervisor:
|
||||
enabled: false
|
||||
dragonball:
|
||||
enabled: false
|
||||
fc:
|
||||
enabled: false
|
||||
qemu:
|
||||
enabled: false
|
||||
qemu-runtime-rs:
|
||||
enabled: false
|
||||
qemu-snp:
|
||||
enabled: false
|
||||
qemu-tdx:
|
||||
enabled: false
|
||||
qemu-se:
|
||||
enabled: false
|
||||
qemu-se-runtime-rs:
|
||||
enabled: false
|
||||
qemu-cca:
|
||||
enabled: false
|
||||
qemu-coco-dev:
|
||||
enabled: false
|
||||
qemu-coco-dev-runtime-rs:
|
||||
enabled: false
|
||||
|
||||
# Now enable NVIDIA GPU shims
|
||||
qemu-nvidia-gpu:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
|
||||
@@ -12,7 +12,28 @@ snapshotter:
|
||||
setup: ["nydus"] # TEE shims typically use nydus snapshotter
|
||||
|
||||
# Enable TEE (Trusted Execution Environment) shims
|
||||
# First disable all shims (since values.yaml enables all by default)
|
||||
shims:
|
||||
clh:
|
||||
enabled: false
|
||||
cloud-hypervisor:
|
||||
enabled: false
|
||||
dragonball:
|
||||
enabled: false
|
||||
fc:
|
||||
enabled: false
|
||||
qemu:
|
||||
enabled: false
|
||||
qemu-runtime-rs:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-snp:
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-tdx:
|
||||
enabled: false
|
||||
|
||||
# Now enable TEE shims (qemu-snp, qemu-tdx, qemu-se, qemu-se-runtime-rs, qemu-cca, qemu-coco-dev, qemu-coco-dev-runtime-rs)
|
||||
qemu-snp:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
|
||||
@@ -1,220 +0,0 @@
|
||||
# Example values file to enable all available Kata Containers shims
|
||||
# This is useful for trying out all the different runtime options available.
|
||||
#
|
||||
# Usage:
|
||||
# helm install kata-deploy oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy \
|
||||
# --version VERSION \
|
||||
# -f try-kata.values.yaml
|
||||
|
||||
debug: false
|
||||
|
||||
snapshotter:
|
||||
setup: [] # ["nydus", "erofs"] or []
|
||||
|
||||
# Enable all available shims
|
||||
shims:
|
||||
clh:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
cloud-hypervisor:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
dragonball:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
fc:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: "devmapper" # requires pre-configuration on the user side
|
||||
|
||||
qemu:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
- s390x
|
||||
- ppc64le
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-nvidia-gpu:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-nvidia-gpu-snp:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
forceGuestPull: true
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-nvidia-gpu-tdx:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
forceGuestPull: true
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-snp:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-tdx:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-se:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-se-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-cca:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-coco-dev:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-coco-dev-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: nydus
|
||||
forceGuestPull: false
|
||||
crio:
|
||||
guestPull: true
|
||||
agent:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
# Default shim per architecture
|
||||
defaultShim:
|
||||
amd64: qemu
|
||||
arm64: qemu
|
||||
s390x: qemu
|
||||
ppc64le: qemu
|
||||
|
||||
runtimeClasses:
|
||||
enabled: true
|
||||
createDefault: false
|
||||
defaultName: "kata"
|
||||
|
||||
@@ -20,11 +20,10 @@ debug: false
|
||||
snapshotter:
|
||||
setup: [] # ["nydus", "erofs"] or []
|
||||
|
||||
# See MAINTENANCE.md for field descriptions and maintenance guide
|
||||
# NOTE: All shims are disabled by default. Enable the ones you need explicitly.
|
||||
# Enable all available shims
|
||||
shims:
|
||||
clh: # cloud-hypervisor, golang runtime
|
||||
enabled: false
|
||||
clh:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
@@ -32,8 +31,8 @@ shims:
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
cloud-hypervisor: # rust runtime
|
||||
enabled: false
|
||||
cloud-hypervisor:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
@@ -41,17 +40,17 @@ shims:
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
dragonball: # rust runtime
|
||||
enabled: false
|
||||
dragonball:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
fc: # firecracker, golang runtime
|
||||
enabled: false
|
||||
|
||||
fc:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
@@ -59,8 +58,8 @@ shims:
|
||||
containerd:
|
||||
snapshotter: "devmapper" # requires pre-configuration on the user side
|
||||
|
||||
qemu: # golang runtime
|
||||
enabled: false
|
||||
qemu:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
@@ -70,17 +69,17 @@ shims:
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-runtime-rs: # rust runtime
|
||||
enabled: false
|
||||
qemu-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-nvidia-gpu: # golang runtime
|
||||
enabled: false
|
||||
|
||||
qemu-nvidia-gpu:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- arm64
|
||||
@@ -88,8 +87,8 @@ shims:
|
||||
containerd:
|
||||
snapshotter: ""
|
||||
|
||||
qemu-nvidia-gpu-snp: # golang runtime
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-snp:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -102,8 +101,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-nvidia-gpu-tdx: # golang runtime
|
||||
enabled: false
|
||||
qemu-nvidia-gpu-tdx:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -116,8 +115,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-snp: # golang runtime
|
||||
enabled: false
|
||||
qemu-snp:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -130,8 +129,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-tdx: # golang runtime
|
||||
enabled: false
|
||||
qemu-tdx:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -144,8 +143,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-se: # golang runtime
|
||||
enabled: false
|
||||
qemu-se:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -158,8 +157,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-se-runtime-rs: # rust runtime
|
||||
enabled: false
|
||||
qemu-se-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- s390x
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -172,8 +171,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-cca: # golang runtime
|
||||
enabled: false
|
||||
qemu-cca:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- arm64
|
||||
allowedHypervisorAnnotations: []
|
||||
@@ -186,8 +185,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-coco-dev: # golang runtime
|
||||
enabled: false
|
||||
qemu-coco-dev:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
@@ -201,8 +200,8 @@ shims:
|
||||
httpsProxy: ""
|
||||
noProxy: ""
|
||||
|
||||
qemu-coco-dev-runtime-rs: # rust runtime
|
||||
enabled: false
|
||||
qemu-coco-dev-runtime-rs:
|
||||
enabled: true
|
||||
supportedArches:
|
||||
- amd64
|
||||
- s390x
|
||||
@@ -217,11 +216,6 @@ shims:
|
||||
noProxy: ""
|
||||
|
||||
# Default shim per architecture
|
||||
# Since shims are disabled by default, you must explicitly configure defaultShim
|
||||
# for the architectures you're using.
|
||||
# Example:
|
||||
# defaultShim:
|
||||
# amd64: shim
|
||||
defaultShim:
|
||||
amd64: qemu
|
||||
arm64: qemu
|
||||
|
||||
Reference in New Issue
Block a user