gpt4 book ai didi

docker - 如何在kubernetes中使用参数运行docker运行镜像

转载 作者:行者123 更新时间:2023-12-02 11:53:38 25 4
gpt4 key购买 nike

我想在kubernetes中使用以下命令运行一个无声的docker镜像。只是想知道它有什么简单的解决方案。

docker run -d \
--privileged
--tmpfs /run --tmpfs /run/lock --tmpfs /tmp \
--volume /sys/fs/cgroup:/sys/fs/cgroup:ro \
--ulimit nofile=1024000:1024000 \
--sysctl net.ipv4.ip_local_port_range='1025 65535' \
--name kenterprise \
--env KLOUDLESS_CONFIG="$(cat kloudless.yml)" \
# [ports,/data volume|db config] \
docker.kloudless.com/prod:1.29.0 docker_entry

我知道我们可以通过在pod yaml中配置容器来在kubernetes中运行具有类似配置的docker image。例如,如果我想给出--privileged参数,我可以
containers:
securityContext:
privileged: true

只是想知道是否有任何直接的方法。

最佳答案

kubectl运行曾经存在。这可能是您想要的。 But it is depecrated now
kubectl run -i --tty load-generator --image=busybox /bin/sh
从命令行运行pod / deployment而不创建我可以找到的文件的最接近的事情是kubectl create

kubectl create deployment prod --image=busybox -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: prod
name: prod
spec:
replicas: 1
selector:
matchLabels:
app: prod
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: prod
spec:
containers:
- image: busybox
name: busybox
resources: {}
status: {}

虽然,我强烈建议不要运行这样的一次性命令,因为它违背了Kubernetes通过使用 list 鼓励使用的 infrastructure as code概念。

在git之类的版本控制系统中使用 list 可以使您轻松浏览命令和部署的历史记录,并管理对部署所做的更改分支。

但是,如果您要进行的是抽象部署,以便用户不必费心内部结构,那么我建议您使用 Helm之类的工具,该工具可让您在发布时创建图表并更改简单值时间像这样:
helm install --set foo=bar ./mychart

关于docker - 如何在kubernetes中使用参数运行docker运行镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58319174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com