使用自定义 pod 选项在 Kubernetes 中启动交互式 bash 提示符

Start an interactive bash prompt in Kubernetes with custom pod options

我可以使用以下方式启动“交互式广告连播”:

$ kubectl run my-shell --rm -i --tty --image ubuntu -- bash

如何为这个广告连播添加 customized hosts file

即在 pod 清单中定义的 hostAliases 中的一个或多个条目。

一个选项是创建一个运行一些空闲进程的 pod:

apiVersion: v1
kind: Pod
metadata:
  name: my-shell
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "8.8.8.8"
    hostnames:
    - "dns.google"
  containers:
  - name: my-shell
    image: ubuntu
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']

使用 kubectl apply 然后 kubectl exec 将其应用到 运行 pod 中。

是否可以更直接地启动具有特定 pod 规格的交互式 pod?

--overrides='{ "spec": { "hostAliases": [ { "ip": "8.8.8.8", "hostnames": [ "dns.google" ] } ] } }'添加到kubectl run命令中:

kubectl run my-shell --rm -i --tty --image ubuntu --overrides='{ "spec": { "hostAliases": [ { "ip": "8.8.8.8", "hostnames": [ "dns.google" ] } ] } }' -- bash

参考:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#run