Плагин 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 для операций докера внутри кластера.