こんにちは。Dynatrace井上です。
Dynatrace Advent Calendarから出張してまいりました。
Dynatraceのお客様でもKubernetesではなくOpenshiftやROSAクラスターにJavaやらNode.jsやらGolang製のアプリをデプロイして監視観測しているところがかなりいらっしゃいます。
Kubernetes,Openshift,ROSAユーザーの大半のお客様が使っているのがDynatrace Operatorです。KubernetesとOpenshiftで少し違うので違いをみてみます。
Dynatraceドキュメントでも何となく分かりますが今回はYAMLファイルの違いを見ます。
KubernetesのYAML manifestは以下で紹介した手順により分解してあります。
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の方がファイル数も多いし設定項目が多いのが分かります。
Security Context Constraint(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の比較方法の参考になればさいわいです。