【问题标题】:Using kubectl to rollout openshift DeploymentConfig使用 kubectl 推出 openshift DeploymentConfig
【发布时间】:2019-07-07 08:46:26
【问题描述】:

我正在使用 openshift 容器集群来运行我的项目。
在我的 CI 中,我使用 helmkubectl 来升级和部署部署。

按照this 指南,我创建了这个简单的DeploymentConfig

apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
...

当我运行 helm upgrade --install 时,我可以在我的 openshift 集群中看到新部署。
但我想使用kubectl 推出部署,但它失败了:

helm upgrade --install --wait --namespace myapp nginx chart/
kubectl rollout status -n myapp -w "dc/nginx"

我收到此错误error: no king "DeploymentConfig" is registered for version "apps.openshift.io/v1" in scheme "k8s.io/kubernetes/pkg/kubectl/scheme/scheme.go:28"

虽然运行 kubectl api-versions 会显示“apps.openshift.io/v1”。

为什么我不能使用 kubectl 推出部署?

【问题讨论】:

  • 嗨,Deployment 和 DeploymentConfig(OpenShift 特定)是两个不同的资源,Kubectl 客户端不知道 dc
  • 如果你想使用deployment那么你只需要切换到deploykubectl rollout status -n myapp -w "deployment/nginx"
  • 或者如果你已经使用 helm 部署,那么你可以使用 oc client oc rollout status -n myapp -w "dc/nginx”
  • 你为什么不使用“helm rollback ”?
  • @cecunami 顺便说一句,helm rollback 不认为与kubectl/oc rollout 相同。

标签: kubernetes openshift kubernetes-helm


【解决方案1】:

Kubernetes 的命令行界面 (CLI) kubectl 用于对 Kubernetes 集群运行命令,而 DeploymentConfigs 特定于 OpenShift 发行版,在标准 Kubernetes 中不可用。

不过,只要 oc 构建在 kubectl 之上,将 kubectl 二进制文件转换为 oc就像将二进制文件的名称从 kubectl 更改为 oc 一样简单。

查看using kubectl and oc的更多信息

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多