Tengo una imagen acoplable y estoy usando el siguiente comando para ejecutarla.
docker run -it -p 1976:1976 --name demo demo.docker.cloud.com/demo/runtime:latestQuiero ejecutar lo mismo en Kubernetes. Este es mi archivo yaml actual.
apiVersion: v1 kind: Deployment metadata: name: demo-deployment labels: app: demo spec: replicas: 1 selector: matchLabels: app: demo template: metadata: labels: app: demo spec: containers: - name: demo image: demo.docker.cloud.com/demo/runtime:latest ports: - containerPort: 1976 imagePullPolicy: NeverEste archivo yaml cubre todo excepto el indicador "-it". No puedo encontrar su equivalente de Kubernetes. Por favor, me ayudas con ésto. Gracias
Supongo que está intentando conectar un shell a su contenedor en ejecución. Siguiendo la guía en https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/ - Necesitará los siguientes comandos. Para apply su configuración anterior:
Cree el pod: kubectl apply -f ./demo-deployment.yaml
Verifique que el contenedor se esté ejecutando: kubectl get pod demo-deployment
Obtenga un shell para el contenedor en ejecución: kubectl exec -it demo-deployment -- /bin/bash
Mirando la definición de contenedor en la referencia de la API , las opciones equivalentes son stdin: true y tty: true .
(Ninguna de las aplicaciones en las que trabajo ha necesitado esto; la documentación para stdin: habla sobre "lecturas desde stdin en el contenedor" y el tipo típico de procesos de tipo servidor que ejecutaría en una implementación no lee desde stdin en absoluto.)
kubectl run es la coincidencia cercana a docker run según el escenario solicitado.
Algunos ejemplos de la documentación de Kubernetes y su propósito:
kubectl run -i --tty busybox --image=busybox -- sh # Run pod as interactive shell kubectl run nginx --image=nginx -n mynamespace # Run pod nginx in a specific namespace kubectl run nginx --image=nginx # Run pod nginx and write its spec into a file called pod.yaml --dry-run=client -o yaml > pod.yaml