我正在使用openshift
容器集群运行我的项目。
在我的CI中,我使用helm
和kubectl
来升级和推出部署。
遵循本指南,我创建了这个简单的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
?
kubernetes的命令行界面(CLI(, kubectl ,用于针对Kubernetes cluster运行命令,而DeploymentConfigs
则特定于OpenShift分布,在标准kubernetes。
不过,只要 oc 构建在 kubectl 顶部,转换为 kubectl binary to oc oc 就像将二进制名称从 kubectl 更改为 OC 。
一样简单查看有关使用Kubectl和OC