Create an 'LMA-Infra' Composite
This composite deploys the logging and prometheus operators such that they are ready to collect logs and metrics from a k8s cluster. The operators can be extended by introducing custom resources, allowing any application running in the cluster to use these services Note: Due to [0], this composite cannot be successfully deployed in the initinfra-target phase, so a separate 'lma-infra' phase is introduced [0] https://github.com/airshipit/airshipctl/issues/474 Change-Id: Ia20cc7bdaeb2b2f52ba4bcdc8e55a202ef4b0110
This commit is contained in:
parent
1144e50bae
commit
772b18afd9
5
manifests/composite/lma-infra/README.md
Normal file
5
manifests/composite/lma-infra/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# LMA Infra
|
||||||
|
|
||||||
|
This composite deploys the logging-operator and kube-prometheus-stack,
|
||||||
|
configured to provide basic LMA facilities to a cluster. Application Logs and
|
||||||
|
metrics can be collected by supplying the operators CRs.
|
11
manifests/composite/lma-infra/kustomization.yaml
Normal file
11
manifests/composite/lma-infra/kustomization.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- ../../function/logging-operator
|
||||||
|
- ../../function/kube-prometheus-stack
|
||||||
|
|
||||||
|
namespace: lma-infra
|
||||||
|
|
||||||
|
patches:
|
||||||
|
- path: patches/kube-prometheus-stack.yaml
|
||||||
|
- path: patches/logging-operator.yaml
|
||||||
|
- path: patches/logging-spec.yaml
|
4
manifests/composite/lma-infra/namespace.yaml
Normal file
4
manifests/composite/lma-infra/namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: lma-infra
|
@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: kube-prometheus-stack
|
||||||
|
spec:
|
||||||
|
releaseName: lma-infra-monitoring
|
||||||
|
values:
|
||||||
|
fullnameOverride: lma-infra-monitoring
|
||||||
|
grafana:
|
||||||
|
enabled: false
|
||||||
|
prometheus:
|
||||||
|
prometheusSpec:
|
||||||
|
serviceMonitorSelectorNilUsesHelmValues: false
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
prometheusOperator:
|
||||||
|
admissionWebhooks:
|
||||||
|
patch:
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
alertmanager:
|
||||||
|
alertmanagerSpec:
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
prometheus-node-exporter:
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
|
kube-state-metrics:
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
15
manifests/composite/lma-infra/patches/logging-operator.yaml
Normal file
15
manifests/composite/lma-infra/patches/logging-operator.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: logging-operator
|
||||||
|
spec:
|
||||||
|
dependsOn:
|
||||||
|
- name: kube-prometheus-stack
|
||||||
|
values:
|
||||||
|
fullnameOverride: lma-infra-logging-operator
|
||||||
|
monitoring:
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: true
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
47
manifests/composite/lma-infra/patches/logging-spec.yaml
Normal file
47
manifests/composite/lma-infra/patches/logging-spec.yaml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: logging-operator-logging
|
||||||
|
spec:
|
||||||
|
releaseName: lma-infra-logging
|
||||||
|
dependsOn:
|
||||||
|
- name: logging-operator
|
||||||
|
# Reference values at
|
||||||
|
# https://github.com/banzaicloud/logging-operator/blob/master/charts/logging-operator-logging/values.yaml
|
||||||
|
values:
|
||||||
|
controlNamespace: lma-infra
|
||||||
|
loggingRef: lma-infra-logging
|
||||||
|
nameOverride: lma-infra-logging
|
||||||
|
fullnameOverride: lma-infra-logging
|
||||||
|
fluentbit:
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
metrics:
|
||||||
|
serviceMonitor: true
|
||||||
|
fluentd:
|
||||||
|
fluentLogDestination: stdout
|
||||||
|
disablePvc: true
|
||||||
|
metrics:
|
||||||
|
serviceMonitor: true
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
clusterFlows:
|
||||||
|
- name: all-pods
|
||||||
|
spec:
|
||||||
|
globalOutputRefs:
|
||||||
|
- elasticsearch
|
||||||
|
clusterOutputs:
|
||||||
|
- name: elasticsearch
|
||||||
|
spec:
|
||||||
|
elasticsearch:
|
||||||
|
host: elasticsearch-elasticsearch-cluster.default.svc.cluster.local
|
||||||
|
port: 9200
|
||||||
|
scheme: https
|
||||||
|
ssl_verify: false
|
||||||
|
ssl_version: TLSv1_2
|
||||||
|
buffer:
|
||||||
|
timekey: 1m
|
||||||
|
timekey_wait: 30s
|
||||||
|
timekey_use_utc: true
|
19
manifests/function/logging-operator/helmrelease-logging.yaml
Normal file
19
manifests/function/logging-operator/helmrelease-logging.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: logging-operator-logging
|
||||||
|
spec:
|
||||||
|
releaseName: logging-operator-logging
|
||||||
|
interval: 5m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: logging-operator-logging
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: banzaicloud
|
||||||
|
version: 3.8.3
|
||||||
|
interval: 1m
|
||||||
|
timeout: 5m
|
||||||
|
# Reference values at
|
||||||
|
# https://github.com/banzaicloud/logging-operator/blob/master/charts/logging-operator-logging/values.yaml
|
||||||
|
values: {}
|
@ -2,7 +2,6 @@ apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
|||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
metadata:
|
metadata:
|
||||||
name: logging-operator
|
name: logging-operator
|
||||||
namespace: logging
|
|
||||||
spec:
|
spec:
|
||||||
releaseName: logging-operator
|
releaseName: logging-operator
|
||||||
interval: 5m
|
interval: 5m
|
@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- helmrepository.yaml
|
- helmrepository.yaml
|
||||||
- helmrelease.yaml
|
- helmrelease-operator.yaml
|
||||||
|
- helmrelease-logging.yaml
|
||||||
|
|
||||||
namespace: logging
|
namespace: logging
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
resources:
|
||||||
|
- ../../../../composite/lma-infra
|
@ -1,2 +1,3 @@
|
|||||||
resources:
|
resources:
|
||||||
- ../../../../../airshipctl/manifests/phases/
|
- ../../../../../airshipctl/manifests/phases/
|
||||||
|
- lma-infra-target.yaml
|
11
manifests/type/airship-core/phases/lma-infra-target.yaml
Normal file
11
manifests/type/airship-core/phases/lma-infra-target.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: airshipit.org/v1alpha1
|
||||||
|
kind: Phase
|
||||||
|
metadata:
|
||||||
|
name: lma-infra-target
|
||||||
|
clusterName: target-cluster
|
||||||
|
config:
|
||||||
|
executorRef:
|
||||||
|
apiVersion: airshipit.org/v1alpha1
|
||||||
|
kind: KubernetesApply
|
||||||
|
name: kubernetes-apply
|
||||||
|
documentEntryPoint: target/lma-infra
|
@ -3,5 +3,6 @@ resources:
|
|||||||
- ../../../../../../airshipctl/manifests/function/hwcc
|
- ../../../../../../airshipctl/manifests/function/hwcc
|
||||||
- ../../../../function/clusterctl
|
- ../../../../function/clusterctl
|
||||||
- ../../../../../../airshipctl/manifests/composite/flux-helm/
|
- ../../../../../../airshipctl/manifests/composite/flux-helm/
|
||||||
|
|
||||||
commonLabels:
|
commonLabels:
|
||||||
airshipit.org/stage: initinfra
|
airshipit.org/stage: initinfra
|
||||||
|
@ -28,3 +28,5 @@ kubectl \
|
|||||||
label node $NODENAME node-type=controlplane
|
label node $NODENAME node-type=controlplane
|
||||||
|
|
||||||
./tools/deployment/31_deploy_initinfra_target_node.sh
|
./tools/deployment/31_deploy_initinfra_target_node.sh
|
||||||
|
|
||||||
|
airshipctl phase run lma-infra-target --debug
|
||||||
|
Loading…
Reference in New Issue
Block a user