Я попытался запустить простой DaemonSet на кластере кубов - идея заключалась в том, чтобы другие модули кубов подключались к этим контейнерам docker демон (dockerd) и выполняли на нем команды. (Другие модули являются подчиненными Jenkins и должны были просто указать env DOCKER_HOST на 'tcp: // localhost: 2375'); Короче, конфиг выглядит так:
dind.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: dind
spec:
selector:
matchLabels:
name: dind
template:
metadata:
labels:
name: dind
spec:
# tolerations:
# - key: node-role.kubernetes.io/master
# effect: NoSchedule
containers:
- name: dind
image: docker:18.05-dind
resources:
limits:
memory: 2000Mi
requests:
cpu: 100m
memory: 500Mi
volumeMounts:
- name: dind-storage
mountPath: /var/lib/docker
volumes:
- name: dind-storage
emptyDir: {}
Сообщение об ошибке при запуске
mount: mounting none on /sys/kernel/security failed: Permission denied
Could not mount /sys/kernel/security.
AppArmor detection and --privileged mode might break.
mount: mounting none on /tmp failed: Permission denied
Я взял идею из среднего поста, который не сделал опишите это полностью: https://medium.com/hootsuite-engineering/building-docker-images-inside-kubernetes-42c6af855f25 описание docker из docker, docker в docker и Kaniko