【问题标题】:Run command creates pod instead of deployment on Azure Kubernetes运行命令在 Azure Kubernetes 上创建 pod 而不是部署
【发布时间】:2020-08-05 10:37:53
【问题描述】:

当我使用 kubectl run 命令而不是创建部署时,它会创建一个 pod/selenium-node-chrome,因此,我无法使用 replicas 命令扩展 selenium-node-chrome。

PS C:\Users\Test> kubectl run selenium-node-chrome --image selenium/node-chrome:latest --env="HUB_PORT_4444_TCP_ADDR=selenium-hub" --env="HUB_PORT_4444_TCP_PORT=4444"
pod/selenium-node-chrome created
PS C:\Users\Test> kubectl scale deployment selenium-node-chrome --replicas=5
Error from server (NotFound): deployments.extensions "selenium-node-chrome" not found

我遵循的视频教程在运行相同的命令后成功创建了部署“selenium-node-chrome”。我需要帮助,我是 Kubernetes 新手。谢谢。

【问题讨论】:

    标签: kubernetes selenium-grid kubernetes-pod azure-aks kubernetes-deployment


    【解决方案1】:

    你应该使用生成器

    kubectl run selenium-node-chrome \
      --image selenium/node-chrome:latest \
      --env="HUB_PORT_4444_TCP_ADDR=selenium-hub" \
      --env="HUB_PORT_4444_TCP_PORT=4444" \
      --generator=deployment/apps.v1beta1
    

    https://v1-17.docs.kubernetes.io/docs/reference/kubectl/conventions/#generators

    【讨论】:

    • 仍然创建 pod PS C:\Users\Test> kubectl run selenium-node-chrome --image selenium/node-chrome:latest --env="HUB_PORT_4444_TCP_ADDR=s elenium-hub" - -env="HUB_PORT_4444_TCP_PORT=4444" --generator=deployment/apps.v1beta1 标志 --generator 已被弃用,没有任何作用,将来会被移除。 pod/selenium-node-chrome 创建
    • 那不是真的。一个部署被创建deployment.apps/selenium-node-chrome created 显然一个 pod 也是由部署创建的
    • 没有部署 PS C:\Users\Test> kubectl run selenium-node-chrome --image selenium/node-chrome:latest --env="HUB_PORT_4444_TCP_ADDR=selenium-hub" --env= "HUB_PORT_4444_TCP_PORT=4444" --generator=deployment/apps.v1beta1 标志 --generator 已被弃用,没有任何作用,将来会被移除。 pod/selenium-node-chrome created PS C:\Users\Test> kubectl get deployments 在默认命名空间中找不到资源。 PS C:\Users\Test> kubectl scale deployment selenium-node-chorme --replicas=5 来自服务器的错误 (NotFound): deployments.extensions "selenium-node-chorme" not found
    【解决方案2】:

    Kubernetes 1.18 版中已弃用所有生成器。来自文档here

    注意:所有 kubectl 生成器均已弃用。请参阅 Kubernetes v1.17 生成器列表及其使用方式的文档。

    您可以使用kubectl create deployment my-dep --image=busybox 创建部署。

    还可以使用kubectl create deployment my-dep --image=busybox --dry-run=client -o yaml > deployment.yaml 创建 yaml 文件,然后编辑 yaml 文件以添加 env 或任何其他详细信息,并通过 kubectl apply -f deployment.yaml 应用 yaml

    【讨论】:

    • 但我无法通过 --env="HUB_PORT_4444_TCP_ADDR=selenium-hub" --env="HUB_PORT_4444_TCP_PORT=4444" 使用创建部署是否有任何可能的解决方法,以便我可以通过 - -env 环境
    • 只需创建一个yaml文件并使用kubectl apply?
    猜你喜欢
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2020-12-02
    • 2019-07-15
    • 1970-01-01
    • 2019-10-25
    相关资源
    最近更新 更多