Skip to content

k3s + kata #8

@sparkzky

Description

@sparkzky

安装 k3s

 curl -sfL https://get.k3s.io | sh - 

安装 Helm

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version # 验证

安装kata-deploy(会创建runtimeclass等等)

export VERSION=$(curl -sSL https://api.github.com/repos/kata-containers/kata-containers/releases/latest | jq .tag_name | tr -d '"')
export CHART="oci://ghcr.io/kata-containers/kata-deploy-charts/kata-deploy"

helm install kata-deploy "${CHART}" --version "${VERSION}"

配置containerd

k3s用的不是系统级的containerd,而是自身的,需要单独做配置

配置文件路径为/var/lib/rancher/k3s/agent/etc/containerd/config.toml,但是这个文件是k3s自动生成的,不能对此进行更改,而是更改(手动创建)一个模板文件进行配置,路径为/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl

sudo cp  /var/lib/rancher/k3s/agent/etc/containerd/config.toml /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl
sudo vim /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl

加上如下配置

[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.kata]
  runtime_type = "io.containerd.kata.v2"

[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.kata.options]
  ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration-qemu.toml"

[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.kata-qemu]
  runtime_type = "io.containerd.kata.v2"

[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.kata-qemu.options]
  ConfigPath = "/opt/kata/share/defaults/kata-containers/configuration-qemu.toml"

验证

创建一个test.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-kata
spec:
  runtimeClassName: kata-qemu
  containers:
    - name: sleep
      image: busybox
      command: ["sleep", "3600"]
  nodeSelector:
    katacontainers.io/kata-runtime: "true"

然后kubectl apply -f test.yaml即可

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions