diff --git a/v3-configmap-alloy/command.sh b/v3-configmap-alloy/command.sh new file mode 100644 index 0000000..375d170 --- /dev/null +++ b/v3-configmap-alloy/command.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +ALLOY_CONFIG_PATH="" +NAMESPACE="" +CM_NAME="" +ALLOY_POD_NAME=$(kubectl get pod -l app.kubernetes.io/name=alloy -n $NAMESPACE -o jsonpath='{.items[*].metadata.name}') + +RED="\033[31m" +GREEN="\033[32m" +YELLOW="\033[33m" +RESET="\033[0m" + +echo -e "${RED}[1/3] Applying configmap file: $ALLOY_CONFIG_PATH on namespace=$NAMESPACE${RESET}" + +if kubectl create configmap $CM_NAME --from-file=$ALLOY_CONFIG_PATH --dry-run=client -o yaml | kubectl apply -f - -n $NAMESPACE; then + echo -e "${GREEN}[1/3] Configmap applied successfully.${RESET}" +else + echo -e "${RED}[1/3] Failed to apply configmap.${RESET}" + exit 1 +fi + +echo -e "${YELLOW}[2/3] Waiting 1 second...${RESET}" +sleep 1 + +echo -e "${RED}[3/3] Triggering reload on pod=$ALLOY_POD_NAME...${RESET}" +if kubectl exec -it "$ALLOY_POD_NAME" -n "$NAMESPACE" -c config-reloader -- wget --post-data="" -O /dev/null http://localhost:12345/-/reload; then + echo -e "${GREEN}[3/3] Reload triggered successfully.${RESET}" +else + echo -e "${RED}[3/3] Failed to trigger reload.${RESET}" + exit 1 +fi \ No newline at end of file diff --git a/v3-configmap-alloy/config.alloy b/v3-configmap-alloy/config.alloy new file mode 100644 index 0000000..343b2f8 --- /dev/null +++ b/v3-configmap-alloy/config.alloy @@ -0,0 +1,23 @@ +// Alloy 에서는 //, /* */를 주석으로 사용합니다. +discovery.kubernetes "kube_system_pods" { + role = "pod" + + namespaces { + names = ["kube-system"] + } +} + +loki.source.kubernetes "kube_system_pods" { + targets = discovery.kubernetes.kube_system_pods.targets + forward_to = +} + + +loki.write "loki_intance" { + endpoint { + url = "" + } +} + +discovery.kubernetes "name" { +} \ No newline at end of file diff --git a/v3-configmap-alloy/helm-values.yaml b/v3-configmap-alloy/helm-values.yaml new file mode 100644 index 0000000..705c8e5 --- /dev/null +++ b/v3-configmap-alloy/helm-values.yaml @@ -0,0 +1,9 @@ +# v2와 helm 설정은 동일함. +alloy: + resources: {} # resource 설정 가능 + + configMap: + create: false + name: alloy-config + key: config.alloy +