[[2021-06-16_Wed]] #argo #litmus #sockshop LitmusのWorkflowを作成するために、Argoを導入する。 Argoのインストールは、[Chaos Workflows with Argo and LitmusChaos · Litmus Docs](https://docs.litmuschaos.io/docs/chaos-workflows/) に従う。 ```shell-session $ kubectl create ns argo ``` Argoリソースの作成。 [Introduce Litmus by yuuki · Pull Request #5 · ai4sre/microservices-demo · GitHub](https://github.com/ai4sre/microservices-demo/pull/5/commits/b8001028354918bc74530da79d168fb53dc4ac16) ```shell-session $ kubectl apply -n argo -f manifests-argo customresourcedefinition.apiextensions.k8s.io/clusterworkflowtemplates.argoproj.io configured customresourcedefinition.apiextensions.k8s.io/cronworkflows.argoproj.io configured customresourcedefinition.apiextensions.k8s.io/workfloweventbindings.argoproj.io created customresourcedefinition.apiextensions.k8s.io/workflows.argoproj.io configured customresourcedefinition.apiextensions.k8s.io/workflowtemplates.argoproj.io configured serviceaccount/argo created serviceaccount/argo-server created role.rbac.authorization.k8s.io/argo-role created clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-admin configured clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-edit configured clusterrole.rbac.authorization.k8s.io/argo-aggregate-to-view configured clusterrole.rbac.authorization.k8s.io/argo-cluster-role configured clusterrole.rbac.authorization.k8s.io/argo-server-cluster-role configured rolebinding.rbac.authorization.k8s.io/argo-binding created clusterrolebinding.rbac.authorization.k8s.io/argo-binding configured clusterrolebinding.rbac.authorization.k8s.io/argo-server-binding configured configmap/workflow-controller-configmap created service/argo-server created service/workflow-controller-metrics created deployment.apps/argo-server created deployment.apps/workflow-controller created ``` Argo CLIツールのインストール。 [Release v3.0.7 · argoproj/argo-workflows · GitHub](https://github.com/argoproj/argo-workflows/releases/tag/v3.0.7) ```shell-session $ curl -sLO https://github.com/argoproj/argo/releases/download/v3.0.7/argo-darwin-amd64.gz $ gunzip argo-darwin-amd64.gz $ chmod +x argo-darwin-amd64 $ mv ./argo-darwin-amd64 ~/bin/argo $ argo version argo: v3.0.7 BuildDate: 2021-05-25T18:57:09Z GitCommit: e79e7ccda747fa4487bf889142c744457c26e9f7 GitTreeState: clean GitTag: v3.0.7 GoVersion: go1.16.3 Compiler: gc Platform: darwin/amd64 ``` ## Install Litmus operator and admin 各manifestsファイルを配置。 [Introduce Litmus by yuuki · Pull Request #5 · ai4sre/microservices-demo · GitHub](https://github.com/ai4sre/microservices-demo/pull/5/commits/39e1a5ba399979c564afd564036f9156619bccb9) ```shell-session $ kubectl apply -n litmus -f manifests-litmus/litmus-operator.yaml Warning: resource namespaces/litmus is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. namespace/litmus configured Warning: resource serviceaccounts/litmus is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. serviceaccount/litmus configured Warning: resource clusterroles/litmus is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. clusterrole.rbac.authorization.k8s.io/litmus configured Warning: resource clusterrolebindings/litmus is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. clusterrolebinding.rbac.authorization.k8s.io/litmus configured deployment.apps/chaos-operator-ce created customresourcedefinition.apiextensions.k8s.io/chaosengines.litmuschaos.io configured customresourcedefinition.apiextensions.k8s.io/chaosexperiments.litmuschaos.io configured customresourcedefinition.apiextensions.k8s.io/chaosresults.litmuschaos.io unchanged ``` ```shell-session $ kubectl apply -n litmus -f manifests-litmus/litmus-admin-rbac.yaml serviceaccount/litmus-admin created clusterrole.rbac.authorization.k8s.io/litmus-admin configured clusterrolebinding.rbac.authorization.k8s.io/litmus-admin unchanged ``` ```shell-session $ kubectl apply -n litmus -f manifests-litmus/argo-access.yaml serviceaccount/argo-chaos created clusterrole.rbac.authorization.k8s.io/chaos-cluster-role unchanged Warning: rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding clusterrolebinding.rbac.authorization.k8s.io/chaos-cluster-role-binding configured ```