Estoy configurando una implementación de kubernetes con una imagen que ejecutará los comandos de la ventana acoplable ( docker ps , etc.).
Mi yaml tiene el siguiente aspecto:
kind: Deployment apiVersion: apps/v1 metadata: name: discovery namespace: kube-system labels: discovery-app: kubernetes-discovery spec: selector: matchLabels: discovery-app: kubernetes-discovery strategy: type: Recreate template: metadata: labels: discovery-app: kubernetes-discovery spec: containers: - image: docker:dind name: discover ports: - containerPort: 8080 name: my-awesome-port imagePullSecrets: - name: regcred3 volumes: - name: some-volume emptyDir: {} serviceAccountName: kubernetes-discoveryNormalmente ejecutaré un contenedor docker de la siguiente manera:
docker run -v /var/run/docker.sock:/var/run/docker.sock docker:dind
Ahora, kubernetes args admite commands y argumentos, pero por algún motivo no admite options .
¿Qué es lo correcto?
Tal vez debería configurar un volumen, pero entonces, ¿es volumeMount o solo un volumen?
Soy nuevo con kubernetes, por lo que es importante para mí hacerlo de la manera correcta.
Gracias
Desea agregar el volumen al contenedor.
spec: containers: - name: discover image: docker:dind volumeMounts: - name: dockersock mountPath: "/var/run/docker.sock" volumes: - name: dockersock hostPath: path: /var/run/docker.sockParece una mala idea interactuar directamente con los contenedores en cualquier nodo de Kubernetes. El objetivo de Kubernetes es orquestar. Si agrega contenedores fuera de la construcción del Pod, Kubernetes no estará al tanto de los procesos que se ejecutan en los nodos. Esto afectará la asignación de recursos.
También hay que decir que trabajar directamente con contenedores pasa por alto la seguridad.