Skip to content

Commit

Permalink
Checkpoint after moving to shared volume charts, otel collector in sh…
Browse files Browse the repository at this point in the history
…ared library WIP

Signed-off-by: Tanner Lewis <lewijacn@amazon.com>
  • Loading branch information
lewijacn committed Oct 20, 2024
1 parent 53057ae commit 8614014
Show file tree
Hide file tree
Showing 43 changed files with 638 additions and 182 deletions.
23 changes: 23 additions & 0 deletions deployment/k8/aws/ack-resource-setup/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
9 changes: 9 additions & 0 deletions deployment/k8/aws/ack-resource-setup/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v2
name: ack-resource-setup
description: A Helm chart for deploying required AWS resources for running the Migration Assistant
version: 0.1.0
appVersion: "3.5.0"
dependencies:
- name: strimzi-kafka-operator
version: 0.43.0
repository: https://strimzi.io/charts/
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#https://github.com/strimzi/strimzi-kafka-operator/blob/release-0.43.x/examples/kafka/kraft/kafka-single-node.yaml
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaNodePool
metadata:
name: dual-role
labels:
strimzi.io/cluster: kafka-cluster
spec:
replicas: 1
roles:
- controller
- broker
storage:
type: jbod
volumes:
- id: 0
type: persistent-claim
size: 10Gi
deleteClaim: true
kraftMetadata: shared
---

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: kafka-cluster
annotations:
strimzi.io/node-pools: enabled
strimzi.io/kraft: enabled
spec:
kafka:
version: 3.8.0
metadataVersion: 3.8-IV0
listeners:
- name: plain
port: 9092
type: internal
tls: false
- name: tls
port: 9093
type: internal
tls: true
config:
offsets.topic.replication.factor: 1
transaction.state.log.replication.factor: 1
transaction.state.log.min.isr: 1
default.replication.factor: 1
min.insync.replicas: 1
entityOperator:
topicOperator: {}
userOperator: {}
38 changes: 38 additions & 0 deletions deployment/k8/aws/ack-resource-setup/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Configuration for Strimzi Kafka Operator
#strimzi-kafka-operator:
# You can add operator-specific configurations here if needed
# For example, enabling metrics, RBAC settings, etc.

## Configuration for the Kafka Cluster
#kafka:
# name: kafka-cluster
# version: "3.6.0" # Kafka version supporting KRaft
# replicas: 1
# config:
# processRoles: "broker,controller"
# nodeId: 1
# controllerQuorumVoters: "1@kafka-cluster-0.kafka-cluster-bootstrap:9093"
# interBrokerProtocolVersion: "3.5"
# logMessageFormatVersion: "3.5"
# autoCreateTopicsEnable: "true"
# storage:
# type: "ephemeral" # Use "persistent-claim" for persistent storage
# size: "20Gi"
# class: "managed-nfs-storage" # Set to empty string "" if not using a specific storage class
# deleteClaim: false
#
## Configuration for the Controller
#controller:
# replicas: 1
# resources:
# limits:
# memory: "2Gi"
# cpu: "1000m"
# requests:
# memory: "1Gi"
# cpu: "500m"
# storage:
# type: "ephemeral" # Use "persistent-claim" for persistent storage
# size: "10Gi"
# class: "managed-nfs-storage" # Set to empty string "" if not using a specific storage class
# deleteClaim: false
7 changes: 2 additions & 5 deletions deployment/k8/capture-proxy/templates/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,7 @@ spec:
protocol: {{ .protocol | default "TCP" }}
{{- end }}
restartPolicy: {{ .Values.otelCollectorSidecar.restartPolicy }}
{{- if .Values.otelCollectorSidecar.command }}
command:
- "/bin/sh"
- "-c"
- "{{ .Values.otelCollectorSidecar.command }}"
{{- if .Values.otelCollectorSidecar.args }}
args: {{ .Values.otelCollectorSidecar.args }}
{{- end }}
{{- end }}
10 changes: 8 additions & 2 deletions deployment/k8/capture-proxy/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ otelCollectorSidecar:
name: otel-collector
enabled: true
restartPolicy: "Always"
#command: "--config=/etc/otel-config-debug-only.yaml"
#command: "--config=/etc/otel-config-aws.yaml"
#args: "--config=/etc/otel-config-debug-only.yaml"
#args: ["--config=/etc/otel-config-prometheus-jaeger.yaml"]
image:
repository: migrations/otel_collector
pullPolicy: IfNotPresent
Expand All @@ -48,3 +48,9 @@ otelCollectorSidecar:
- name: otlp-receiver
containerPort: 4317
protocol: TCP
# - name: prom-metrics
# containerPort: 8888
# protocol: TCP
# - name: prom-exporter
# containerPort: 8889
# protocol: TCP
5 changes: 0 additions & 5 deletions deployment/k8/elasticsearch/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,4 @@ env:
snapshotVolume:
volumeName: snapshot-vol
mountPath: /storage # Path inside the container where the volume should be mounted
# Persistent volume claim settings
createPvc: true
pvcClaimName: snapshot-vol-pvc
storageClass: ""
accessMode: ReadWriteOnce
size: 5Gi
10 changes: 8 additions & 2 deletions deployment/k8/environments/full-environment/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,11 @@ dependencies:
- name: reindex-from-snapshot
repository: file://../../reindex-from-snapshot
version: 0.1.0
digest: sha256:f150a39fb9de82b31d6dcf1c56c6469e206dd24412de5a12d8183c365f7c2738
generated: "2024-10-16T17:08:42.54601-05:00"
- name: shared-logs-vol
repository: file://../../shared/shared-logs-vol
version: 0.1.0
- name: snapshot-vol
repository: file://../../shared/snapshot-vol
version: 0.1.0
digest: sha256:3e79f502ad2dd012fbd9b3428374a310f2106026e0ab7feb7fd1ab1e6fd0e3f5
generated: "2024-10-18T22:56:42.045426-05:00"
15 changes: 15 additions & 0 deletions deployment/k8/environments/full-environment/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,18 @@ dependencies:
- name: reindex-from-snapshot
version: "0.1.0"
repository: "file://../../reindex-from-snapshot"
- name: shared-logs-vol
version: "0.1.0"
repository: "file://../../shared/shared-logs-vol"
- name: snapshot-vol
version: "0.1.0"
repository: "file://../../shared/snapshot-vol"
# - name: jaeger
# version: "0.1.0"
# repository: "file://../../jaeger"
# - name: prometheus
# version: "0.1.0"
# repository: "file://../../prometheus"
# - name: grafana
# version: "0.1.0"
# repository: "file://../../grafana"
6 changes: 6 additions & 0 deletions deployment/k8/grafana/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: grafana
repository: https://grafana.github.io/helm-charts
version: 8.5.0
digest: sha256:9a11b7ae0a252d66e7bb0db397b666f2a205f644aa0d0b2a79db35358e38015c
generated: "2024-10-17T23:02:18.615764-05:00"
9 changes: 9 additions & 0 deletions deployment/k8/grafana/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v2
name: grafana
description: A Helm chart for deploying Grafana
appVersion: "3.5.0"
version: 0.1.0
dependencies:
- name: grafana
version: "8.5.0"
repository: "https://grafana.github.io/helm-charts"
136 changes: 136 additions & 0 deletions deployment/k8/grafana/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-metrics-dashboard
labels:
grafana_dashboard: "1"
data:
prometheus-metrics-dashboard.json: |
{
"id": null,
"title": "Prometheus Metrics Dashboard",
"tags": [],
"timezone": "browser",
"schemaVersion": 30,
"version": 1,
"refresh": "5s",
"panels": [
{
"type": "graph",
"title": "CPU Usage",
"datasource": "Prometheus",
"targets": [
{
"expr": "sum(rate(node_cpu_seconds_total{mode!=\"idle\"}[5m])) by (instance)",
"legendFormat": "thing",
"refId": "A"
}
],
"xaxis": {
"mode": "time"
},
"yaxes": [
{
"format": "percent",
"label": "CPU Usage"
}
],
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
}
},
{
"type": "graph",
"title": "Memory Usage",
"datasource": "Prometheus",
"targets": [
{
"expr": "node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes",
"legendFormat": "Memory Usage",
"refId": "A"
}
],
"xaxis": {
"mode": "time"
},
"yaxes": [
{
"format": "percent",
"label": "Memory Usage"
}
],
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
}
},
{
"type": "graph",
"title": "Disk I/O",
"datasource": "Prometheus",
"targets": [
{
"expr": "rate(node_disk_io_time_seconds_total[5m])",
"legendFormat": "thing - thing2",
"refId": "A"
}
],
"xaxis": {
"mode": "time"
},
"yaxes": [
{
"format": "s",
"label": "I/O Time"
}
],
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 8
}
},
{
"type": "singlestat",
"title": "Total Requests",
"datasource": "Prometheus",
"targets": [
{
"expr": "sum(rate(http_requests_total[5m]))",
"refId": "A"
}
],
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 16
},
"format": "none"
},
{
"type": "singlestat",
"title": "Up Time",
"datasource": "Prometheus",
"targets": [
{
"expr": "time() - node_boot_time_seconds",
"refId": "A"
}
],
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 16
},
"format": "s"
}
]
}
40 changes: 40 additions & 0 deletions deployment/k8/grafana/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
grafana:
service:
type: LoadBalancer
port: 3000
targetPort: 3000
grafana.ini:
auth:
# Disable login form so anonymous users won't be prompted to log in
disable_login_form: true
auth.anonymous:
# Enable anonymous access
enabled: true
# Set the role for anonymous users (e.g., Viewer, Editor)
org_role: Editor
## Grafana data sources configuration
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus-server
isDefault: true
editable: true
- name: Jaeger
type: jaeger
access: proxy
url: http://jaeger-query:16686
isDefault: false
editable: true

## Set up the sidecar to import data sources (usually enabled by default)
sidecar:
datasources:
enabled: true
dashboards:
enabled: true
label: grafana_dashboard

Loading

0 comments on commit 8614014

Please sign in to comment.