A K3S Deployment of Bind9 DNS, Fluent-Bit configured for the [output] Azure Log Ingestion API
-
Operational K3S Node/Cluster
-
bind9-dns namespace must exist
kubectl create ns bind9-dns
-
A label of 'bind9' : 'true' must exist on a K3S node for 'nodeSelector'
kubectl label nodes <your-node-name> bind9=true kubectl get nodes --show-labels
- This is required for two containers to write/read from the same volume mount set as RWO (Read Write Once)
- Source: Longhorn Volumes
- Both containers MUST run on the SAME K3S (Kubernetes) NODE
- This is required for two containers to write/read from the same volume mount set as RWO (Read Write Once)
-
Kubernetes storage (e.g. LongHorn) must exist for K3S node/cluster
-
K3S Load Balancer must be configured (e.g. KubeVIP)
- Add your info & secrets from Azure Entra ID (App Registration) & Azure Monitor (DCE/DCR) and deploy the manifest
kubectl create -f ./bind9-appreg-secrets.yaml
- Modify this manifest & deploy the Fluent-Bit Sidecar ConfigMap
kubectl create -f ./fluentbit-sidecar-cm.yaml
- Modify this manifest & deploy Bind9 DNS w/ Fluent-Bit Sidecar
kubectl create -f ./bind9-fb-sc-deployment.yaml