add role: bookinfo datadog-agent
This commit is contained in:
parent
2ce12a3a50
commit
4a2c4dfc28
10
playbook/jobs/init_datadog_agent
Normal file
10
playbook/jobs/init_datadog_agent
Normal file
@ -0,0 +1,10 @@
|
||||
- name: set datadog-agent with helm
|
||||
hosts: all
|
||||
user: root
|
||||
become: yes
|
||||
gather_facts: yes
|
||||
tasks:
|
||||
- include_role:
|
||||
name: datadog-agent
|
||||
vars:
|
||||
group: master
|
||||
24
playbook/roles/bookinfo/tasks/main.yml
Executable file
24
playbook/roles/bookinfo/tasks/main.yml
Executable file
@ -0,0 +1,24 @@
|
||||
- name: Prep DIR
|
||||
shell: "mkdir -pv /tmp/bookinfo/"
|
||||
|
||||
- name: Prep NameSpace
|
||||
shell: "kubectl create namespace default || echo true"
|
||||
|
||||
- name: Sync bookinfo deploy yaml
|
||||
template: src=templates/{{ item }} dest=/tmp/bookinfo/{{ item }} owner=root group=root mode=0644 force=yes unsafe_writes=yes
|
||||
with_items:
|
||||
- apline-cli.yaml
|
||||
- bookinfo-productpage-python.yaml
|
||||
- bookinfo-reviews.yaml
|
||||
- bookinfo-details.yaml
|
||||
- bookinfo-ratings.yaml
|
||||
|
||||
- name: Setup bookinfo
|
||||
shell: "kubectl apply -f /tmp{{ item }}"
|
||||
when: inventory_hostname in groups[group]
|
||||
with_items:
|
||||
- apline-cli.yaml
|
||||
- bookinfo-productpage-python.yaml
|
||||
- bookinfo-reviews.yaml
|
||||
- bookinfo-details.yaml
|
||||
- bookinfo-ratings.yaml
|
||||
2
playbook/roles/bookinfo/templates/.gitignore
vendored
Normal file
2
playbook/roles/bookinfo/templates/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/clickhouse-keeper-k8s.iml
|
||||
/.idea/
|
||||
15
playbook/roles/bookinfo/templates/apline-cli.yaml
Normal file
15
playbook/roles/bookinfo/templates/apline-cli.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: alpine
|
||||
namespace: default
|
||||
spec:
|
||||
containers:
|
||||
- image: alpine:3.13
|
||||
command:
|
||||
- /bin/sh
|
||||
- "-c"
|
||||
- "sleep 600m"
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: alpine
|
||||
restartPolicy: Always
|
||||
52
playbook/roles/bookinfo/templates/bookinfo-details.yaml
Normal file
52
playbook/roles/bookinfo/templates/bookinfo-details.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
##################################################################################################
|
||||
# Details service
|
||||
##################################################################################################
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: details
|
||||
labels:
|
||||
app: details
|
||||
service: details
|
||||
spec:
|
||||
ports:
|
||||
- port: 9080
|
||||
name: http
|
||||
selector:
|
||||
app: details
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: bookinfo-details
|
||||
labels:
|
||||
account: details
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: details-v1
|
||||
labels:
|
||||
app: details
|
||||
version: v1
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: details
|
||||
version: v1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: details
|
||||
version: v1
|
||||
spec:
|
||||
serviceAccountName: bookinfo-details
|
||||
containers:
|
||||
- name: details
|
||||
image: docker.io/istio/examples-bookinfo-details-v1:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
@ -0,0 +1,90 @@
|
||||
##################################################################################################
|
||||
# Productpage services
|
||||
##################################################################################################
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: productpage
|
||||
labels:
|
||||
app: productpage
|
||||
service: productpage
|
||||
spec:
|
||||
ports:
|
||||
- port: 9080
|
||||
name: http
|
||||
selector:
|
||||
app: productpage
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: bookinfo-productpage
|
||||
labels:
|
||||
account: productpage
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: productpage-v1
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "productpage"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
app: productpage
|
||||
version: v1
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: productpage
|
||||
version: v1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "productpage"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
admission.datadoghq.com/enabled: "true"
|
||||
app: productpage
|
||||
version: v1
|
||||
annotations:
|
||||
admission.datadoghq.com/python-lib.version: v1.12.0
|
||||
spec:
|
||||
serviceAccountName: bookinfo-productpage
|
||||
containers:
|
||||
- name: productpage
|
||||
image: docker.io/istio/examples-bookinfo-productpage-v1:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: DATADOG_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_AGENT_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_AGENT_PORT
|
||||
value: "8126"
|
||||
- name: DD_TRACE_SAMPLE_RATE
|
||||
value: "1"
|
||||
- name: DD_ENV
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/env']
|
||||
- name: DD_SERVICE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/service']
|
||||
- name: DD_VERSION
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/version']
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
volumeMounts:
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
volumes:
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
84
playbook/roles/bookinfo/templates/bookinfo-ratings.yaml
Normal file
84
playbook/roles/bookinfo/templates/bookinfo-ratings.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
##################################################################################################
|
||||
# Ratings service
|
||||
##################################################################################################
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: ratings
|
||||
labels:
|
||||
app: ratings
|
||||
service: ratings
|
||||
spec:
|
||||
ports:
|
||||
- port: 9080
|
||||
name: http
|
||||
selector:
|
||||
app: ratings
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: bookinfo-ratings
|
||||
labels:
|
||||
account: ratings
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: ratings-v1
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "ratings"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
app: ratings
|
||||
version: v1
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: ratings
|
||||
version: v1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "ratings"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
admission.datadoghq.com/enabled: "true"
|
||||
app: ratings
|
||||
version: v1
|
||||
annotations:
|
||||
admission.datadoghq.com/js-lib.version: v3.17.1
|
||||
spec:
|
||||
serviceAccountName: bookinfo-ratings
|
||||
containers:
|
||||
- name: ratings
|
||||
image: docker.io/istio/examples-bookinfo-ratings-v1:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
env:
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_AGENT_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_AGENT_PORT
|
||||
value: "8126"
|
||||
- name: DD_TRACE_SAMPLE_RATE
|
||||
value: "1"
|
||||
- name: DATADOG_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_ENV
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/env']
|
||||
- name: DD_SERVICE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/service']
|
||||
- name: DD_VERSION
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/version']
|
||||
242
playbook/roles/bookinfo/templates/bookinfo-reviews.yaml
Normal file
242
playbook/roles/bookinfo/templates/bookinfo-reviews.yaml
Normal file
@ -0,0 +1,242 @@
|
||||
##################################################################################################
|
||||
# Reviews service
|
||||
##################################################################################################
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: reviews
|
||||
labels:
|
||||
app: reviews
|
||||
service: reviews
|
||||
spec:
|
||||
ports:
|
||||
- port: 9080
|
||||
name: http
|
||||
selector:
|
||||
app: reviews
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: bookinfo-reviews
|
||||
labels:
|
||||
account: reviews
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: reviews-v1
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
app: reviews
|
||||
version: v1
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: reviews
|
||||
version: v1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v1"
|
||||
admission.datadoghq.com/enabled: "true"
|
||||
app: reviews
|
||||
version: v1
|
||||
annotations:
|
||||
admission.datadoghq.com/java-lib.version: v1.12.1
|
||||
spec:
|
||||
serviceAccountName: bookinfo-reviews
|
||||
containers:
|
||||
- name: reviews
|
||||
image: docker.io/istio/examples-bookinfo-reviews-v1:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: LOG_DIR
|
||||
value: "/tmp/logs"
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: DD_AGENT_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_AGENT_PORT
|
||||
value: "8126"
|
||||
- name: DD_TRACE_SAMPLE_RATE
|
||||
value: "1"
|
||||
- name: DATADOG_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_ENV
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/env']
|
||||
- name: DD_SERVICE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/service']
|
||||
- name: DD_VERSION
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/version']
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
volumeMounts:
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
- name: wlp-output
|
||||
mountPath: /opt/ibm/wlp/output
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
volumes:
|
||||
- name: wlp-output
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: reviews-v2
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v2"
|
||||
app: reviews
|
||||
version: v2
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: reviews
|
||||
version: v2
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v2"
|
||||
admission.datadoghq.com/enabled: "true"
|
||||
app: reviews
|
||||
version: v2
|
||||
annotations:
|
||||
admission.datadoghq.com/java-lib.version: v1.12.1
|
||||
spec:
|
||||
serviceAccountName: bookinfo-reviews
|
||||
containers:
|
||||
- name: reviews
|
||||
image: docker.io/istio/examples-bookinfo-reviews-v2:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: LOG_DIR
|
||||
value: "/tmp/logs"
|
||||
- name: DD_AGENT_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_AGENT_PORT
|
||||
value: "8126"
|
||||
- name: DD_TRACE_SAMPLE_RATE
|
||||
value: "1"
|
||||
- name: DATADOG_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_ENV
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/env']
|
||||
- name: DD_SERVICE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/service']
|
||||
- name: DD_VERSION
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/version']
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
volumeMounts:
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
- name: wlp-output
|
||||
mountPath: /opt/ibm/wlp/output
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
volumes:
|
||||
- name: wlp-output
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: reviews-v3
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v3"
|
||||
app: reviews
|
||||
version: v3
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: reviews
|
||||
version: v3
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
tags.datadoghq.com/env: "dev"
|
||||
tags.datadoghq.com/service: "reviews"
|
||||
tags.datadoghq.com/version: "v3"
|
||||
admission.datadoghq.com/enabled: "true"
|
||||
app: reviews
|
||||
version: v3
|
||||
annotations:
|
||||
admission.datadoghq.com/java-lib.version: v1.12.1
|
||||
spec:
|
||||
serviceAccountName: bookinfo-reviews
|
||||
containers:
|
||||
- name: reviews
|
||||
image: docker.io/istio/examples-bookinfo-reviews-v3:1.17.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: DD_LOGS_INJECTION
|
||||
value: "true"
|
||||
- name: LOG_DIR
|
||||
value: "/tmp/logs"
|
||||
- name: DD_AGENT_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_AGENT_PORT
|
||||
value: "8126"
|
||||
- name: DATADOG_HOST
|
||||
value: datadog-agent
|
||||
- name: DD_TRACE_SAMPLE_RATE
|
||||
value: "1"
|
||||
- name: DD_ENV
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/env']
|
||||
- name: DD_SERVICE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/service']
|
||||
- name: DD_VERSION
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.labels['tags.datadoghq.com/version']
|
||||
ports:
|
||||
- containerPort: 9080
|
||||
volumeMounts:
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
- name: wlp-output
|
||||
mountPath: /opt/ibm/wlp/output
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
volumes:
|
||||
- name: wlp-output
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
emptyDir: {}
|
||||
32
playbook/roles/datadog-agent/files/setup.sh
Normal file
32
playbook/roles/datadog-agent/files/setup.sh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
export token=$1
|
||||
|
||||
helm repo add datadog https://helm.datadoghq.com
|
||||
helm repo update
|
||||
cat > datadog-values.yaml << EOF
|
||||
targetSystem: "linux"
|
||||
registry: artifact.onwalk.net/public/datadog
|
||||
clusterAgent:
|
||||
enabled: true
|
||||
admissionController:
|
||||
enabled: true
|
||||
mutateUnlabelled: true
|
||||
datadog:
|
||||
site: 'datadoghq.eu'
|
||||
apiKeyExistingSecret: datadog-agent
|
||||
logs:
|
||||
enabled: true
|
||||
containerCollectAll: true
|
||||
apm:
|
||||
portEnabled: true
|
||||
networkMonitoring:
|
||||
enabled: true
|
||||
env:
|
||||
- name: DD_APM_FEATURES
|
||||
value: 'enale_cid_stats'
|
||||
EOF
|
||||
kubectl create namespace datadog || echo true
|
||||
kubectl delete secret datadog-agent --namespace=datadog || echo true
|
||||
kubectl create secret generic datadog-agent --from-literal api-key=$token --namespace=datadog
|
||||
helm upgrade --install datadog-agent -n datadog --create-namespace -f datadog-values.yaml datadog/datadog
|
||||
2
playbook/roles/datadog-agent/meta/main.yml
Normal file
2
playbook/roles/datadog-agent/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- role: common
|
||||
3
playbook/roles/datadog-agent/tasks/main.yml
Executable file
3
playbook/roles/datadog-agent/tasks/main.yml
Executable file
@ -0,0 +1,3 @@
|
||||
- name: Setup Datadog Agent
|
||||
script: files/setup.sh {{ datadog_token }}
|
||||
when: inventory_hostname in groups[group]
|
||||
Loading…
Reference in New Issue
Block a user