Плагин Jenkins Kubernetes с контейнером

В настоящее время я использую patetemplate (см. Ниже) внутри Jenkinsfile подготовить док-контейнер, который монтируется в док-сокет, чтобы подготовить контейнеры в конвейере.

Поскольку используемые в облаке kubernetes переходят от dockerd к containerd в качестве среды выполнения контейнера, я хочу спросить, есть ли кто-то, кто использует containerd с плагином jenkins kubernetes (особенно podtemplates).

podTemplate(label: 'mypod', cloud: cloud, serviceAccount: serviceAccount, kubenamespace: kubenamespace, envVars: [
envVar(key: 'NAMESPACE', value: kubenamespace),
envVar(key: 'REGNAMESPACE', value: regnamespace),
envVar(key: 'APPNAME', value: appname),
envVar(key: 'REGISTRY', value: registry)
],
volumes: [
  hostPathVolume(hostPath: '/etc/docker/certs.d', mountPath: '/etc/docker/certs.d'),
  hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')
],
containers: [
  containerTemplate(name: 'helm', image: 'lachlanevenson/k8s-helm:v2.9.1', ttyEnabled: true, command: 'cat'),
  containerTemplate(name: 'docker' , image: 'docker:17.06.1-ce', ttyEnabled: true, command: 'cat')]) {

2 ответа

Структура папок немного отличается между движком Docker и containerd. В частности, контейнерная среда выполнения имеет следующие каталоги...

logs - / var / log / pods / websocket - unix: ////var/run/containerd/containerd.sock

Эта ссылка имеет более подробную информацию. https://github.com/containerd/containerd/blob/master/docs/ops.md

Сокет Containerd в IKS 1.11 (unix:////var/run/containerd/containerd.sock) не поддерживает его монтирование и выполнение команд docker, поэтому запуск сборок docker в IKS или любых других настройках Kubernetes Containerd не поддерживается.

Мы будем использовать https://github.com/GoogleContainerTools/jib для операций докера внутри кластера.

Другие вопросы по тегам