kubernetes - 如何在 kubernetes 中将命令从 pod 运行到主机

标签 kubernetes

是否可以从 kubernetes 中的 pod 中在主机上运行命令。

例如,我有一个运行 python 图像的 pod,它计算操作系统的大小。但是它使用的命令在 pod 中运行,而不是在主机中运行。是否可以从 pod 在主机上运行命令。

最佳答案

实际上,在 pod 中运行的命令在主机上运行。它是一个容器(Docker),而不是虚拟机。 这意味着当您在 pod 中执行某些操作(例如检索 RAM 的大小)时,它通常会返回整个机器的 RAM。 如果你想获得“操作系统的大小”并且你的意思是硬盘驱动器,你需要挂载硬盘驱动器来计算它。

如果您的实际问题是您想做一些普通容器不允许做的事情,您可以在特权 模式下运行 pod 或配置您确实需要的任何内容。 您需要像这样向您的 pod 添加一个安全上下文(取自文档):

apiVersion: v1
kind: Pod
metadata:
  name: security-context-demo
spec:
  securityContext:
    runAsUser: 1000
    fsGroup: 2000
  volumes:
  - name: sec-ctx-vol
    emptyDir: {}
  containers:
  - name: sec-ctx-demo
    image: gcr.io/google-samples/node-hello:1.0
    volumeMounts:
    - name: sec-ctx-vol
      mountPath: /data/demo
    securityContext:
      privileged: true

来源:

关于kubernetes - 如何在 kubernetes 中将命令从 pod 运行到主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51590316/

相关文章:

kubernetes - 如何在我的kubelet服务中启用监听10255

azure - 当 Kubespray 中其他节点丢失时,Kubernetes 集群节点不会自动创建

linux - 'Kubectl' 在使用 docker 安装时抛出错误 'failed to negotiate an api version'

kubernetes - 如何在通过 Kubernetes 运行的 GKE 上设置 GOOGLE_APPLICATION_CREDENTIALS

azure - 如何将旧集群的公共(public)IP地址分配给新集群

python - EKS作为字符串记录到CloudWatch流

azure - 使用 Azure CLI 获取 Kubernetes 负载均衡器的公共(public) IP

kubernetes - 恢复 kops Kubernetes 集群

amazon-ec2 - 将流量路由到 AWS EC2 上的公共(public) Kubernetes 服务

kubernetes - Minikube服务接入本地VPN