Dynatrace Operator在Openshift和Kubernetes之间的区别是什么?

你好。我是Dynatrace的井上。

我从Dynatrace Advent Calendar出差回来了。

有很多Dynatrace客户选择在OpenShift或ROSA集群上部署和监控Java、Node.js或Golang应用程序,而不是在Kubernetes上。

大多数的Kubernetes、Openshift和ROSA用户都使用Dynatrace Operator。由于Kubernetes和Openshift有些不同,我们来看看它们的区别。

我在Dynatrace文件中能够大致理解,但是这次我要看YAML文件的差异。

Kubernetes的YAML清单已经按照以下步骤进行分解。

 

对于Openshift,也可以按照以下方式进行分解并进行批量mv。

$ mkdir Dynatrace_ocp
$ curl --silent --location \
  https://github.com/Dynatrace/dynatrace-operator/releases/download/v0.14.0/openshift.yaml \
 | csplit --silent --elide-empty-files --prefix Dynatrace_ocp/Operator140_ - '/^---$/' {*} 
$ cd Dynatrace_ocp
$ for i in *; do  mv $i $(yq '.kind += "_"|.kind += .metadata.name|.kind' $i).yaml; done

然后我们来进行比较。可以看出,Openshift有更多的文件数和设置选项。主要的区别在于安全上下文约束(SCC)。

$ diff Dynatrace_{k8s,ocp}
Only in Dynatrace_ocp: ClusterRoleBinding_dynatrace-activegate.yaml
Only in Dynatrace_ocp: ClusterRoleBinding_dynatrace-dynakube-oneagent.yaml
Only in Dynatrace_ocp: ClusterRole_dynatrace-activegate.yaml
Only in Dynatrace_ocp: ClusterRole_dynatrace-dynakube-oneagent.yaml
diff Dynatrace_k8s/ClusterRole_dynatrace-kubernetes-monitoring.yaml Dynatrace_ocp/ClusterRole_dynatrace-kubernetes-monitoring.yaml
84a85,93
>   - apiGroups:
>       - security.openshift.io
>     resourceNames:
>       - privileged
>       - nonroot-v2
>     resources:
>       - securitycontextconstraints
>     verbs:
>       - use
diff Dynatrace_k8s/ClusterRole_dynatrace-operator.yaml Dynatrace_ocp/ClusterRole_dynatrace-operator.yaml
94a95,103
>   - apiGroups:
>       - security.openshift.io
>     resourceNames:
>       - privileged
>       - nonroot-v2
>     resources:
>       - securitycontextconstraints
>     verbs:
>       - use
diff Dynatrace_k8s/ClusterRole_dynatrace-webhook.yaml Dynatrace_ocp/ClusterRole_dynatrace-webhook.yaml
87a88,96
>   - apiGroups:
>       - security.openshift.io
>     resourceNames:
>       - privileged
>       - nonroot-v2
>     resources:
>       - securitycontextconstraints
>     verbs:
>       - use
diff Dynatrace_k8s/Deployment_dynatrace-operator.yaml Dynatrace_ocp/Deployment_dynatrace-operator.yaml
48c48
<           image: docker.io/dynatrace/dynatrace-operator:v0.14.0
---
>           image: registry.connect.redhat.com/dynatrace/dynatrace-operator:v0.14.0
diff Dynatrace_k8s/Deployment_dynatrace-webhook.yaml Dynatrace_ocp/Deployment_dynatrace-webhook.yaml
85c85
<           image: docker.io/dynatrace/dynatrace-operator:v0.14.0
---
>           image: registry.connect.redhat.com/dynatrace/dynatrace-operator:v0.14.0

希望这个无聊的结果可能正如所料,但希望它能对YAML比较方法提供一些参考。

广告
将在 10 秒后关闭
bannerAds