Commit e5b476db authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

[WIP] Dual OOP seems to work

parent a8ef967d
Loading
Loading
Loading
Loading
+0 −71
Original line number Diff line number Diff line
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  apiServerAddress: "0.0.0.0"
nodes:
  - role: control-plane
    kubeadmConfigPatches:
      - |
        kind: ClusterConfiguration
        apiServer:
          certSANs:
          - "localhost"
          - "127.0.0.1"
          - "10.69.222.3"
    extraPortMappings:
      # API Server
      - containerPort: 6443
        hostPort: 6443
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Prometheus
      - containerPort: 30090
        hostPort: 30090
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Grafana
      - containerPort: 30091
        hostPort: 30091
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Alertmanager
      - containerPort: 30092
        hostPort: 30092
        listenAddress: "0.0.0.0"
        protocol: TCP
      # i2edge
      - containerPort: 30769
        hostPort: 30769
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Federation Manager
      - containerPort: 30989
        hostPort: 30989
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Homer Dashboard
      - containerPort: 30088
        hostPort: 30088
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Remote Federation Manager
      - containerPort: 30990
        hostPort: 30990
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Remote Keycloak
      - containerPort: 30083
        hostPort: 30083
        listenAddress: "0.0.0.0"
        protocol: TCP
      # Remote MongoDB
      - containerPort: 30018
        hostPort: 30018
        listenAddress: "0.0.0.0"
        protocol: TCP
  - role: worker
  - role: worker
containerdConfigPatches:
  - |-
    [plugins."io.containerd.grpc.v1.cri".containerd]
      discard_unpacked_layers = false
+0 −41
Original line number Diff line number Diff line
---
# NodeFeature resources for custom node labels
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeature
metadata:
  labels:
    nfd.node.kubernetes.io/node-name: operator-platform-control-plane
  name: features-operator-platform-control-plane
  namespace: extra-node-feature
spec:
  labels:
    feature.node.kubernetes.io/zoneID: "0f8c8424-a5bf-4c2e-a6da-0ff2b5a47ed1"
    feature.node.kubernetes.io/geolocation: "41.388043_2.114966"
    feature.node.kubernetes.io/geographyDetails: "university_city_env"
---
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeature
metadata:
  labels:
    nfd.node.kubernetes.io/node-name: operator-platform-worker
  name: features-operator-platform-worker
  namespace: extra-node-feature
spec:
  labels:
    feature.node.kubernetes.io/zoneID: "0f8c8424-a5bf-4c2e-a6da-0ff2b5a47ed1"
    feature.node.kubernetes.io/geolocation: "41.388043_2.114966"
    feature.node.kubernetes.io/geographyDetails: "university_city_env"
---
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeature
metadata:
  labels:
    nfd.node.kubernetes.io/node-name: operator-platform-worker2
  name: features-operator-platform-worker2
  namespace: extra-node-feature
spec:
  labels:
    feature.node.kubernetes.io/zoneID: "0f8c8424-a5bf-4c2e-a6da-0ff2b5a47ed1"
    feature.node.kubernetes.io/geolocation: "41.388043_2.114966"
    feature.node.kubernetes.io/geographyDetails: "university_city_env"
---
+0 −186
Original line number Diff line number Diff line
fullnameOverride: prometheus

defaultRules:
  create: true
  rules:
    alertmanager: true
    etcd: true
    configReloaders: true
    general: true
    k8s: true
    kubeApiserverAvailability: true
    kubeApiserverBurnrate: true
    kubeApiserverHistogram: true
    kubeApiserverSlos: true
    kubelet: true
    kubeProxy: true
    kubePrometheusGeneral: true
    kubePrometheusNodeRecording: true
    kubernetesApps: true
    kubernetesResources: true
    kubernetesStorage: true
    kubernetesSystem: true
    kubeScheduler: true
    kubeStateMetrics: true
    network: true
    node: true
    nodeExporterAlerting: true
    nodeExporterRecording: true
    prometheus: true
    prometheusOperator: true

alertmanager:
  fullnameOverride: alertmanager
  enabled: true
  ingress:
    enabled: false
  service:
    type: NodePort
    nodePort: 30092

grafana:
  enabled: true
  fullnameOverride: grafana
  forceDeployDatasources: false
  forceDeployDashboards: false
  defaultDashboardsEnabled: true
  defaultDashboardsTimezone: utc
  serviceMonitor:
    enabled: true
  admin:
    existingSecret: grafana-admin-credentials
    userKey: admin-user
    passwordKey: admin-password
  service:
    type: NodePort
    nodePort: 30091

kubeApiServer:
  enabled: true

kubelet:
  enabled: true
  serviceMonitor:
    metricRelabelings:
      - action: replace
        sourceLabels:
          - node
        targetLabel: instance

kubeControllerManager:
  enabled: true
  endpoints:
    - 172.26.0.2

coreDns:
  enabled: true

kubeDns:
  enabled: false

kubeEtcd:
  enabled: true
  endpoints:
    - 172.26.0.2
  service:
    enabled: true
    port: 2381
    targetPort: 2381

kubeScheduler:
  enabled: true
  endpoints:
    - 172.26.0.2

kubeProxy:
  enabled: true
  endpoints:
    - 172.26.0.2
    - 172.26.0.3
    - 172.26.0.4

kubeStateMetrics:
  enabled: true

kube-state-metrics:
  fullnameOverride: kube-state-metrics
  selfMonitor:
    enabled: true
  prometheus:
    monitor:
      enabled: true
      relabelings:
        - action: replace
          regex: (.*)
          replacement: $1
          sourceLabels:
            - __meta_kubernetes_pod_node_name
          targetLabel: kubernetes_node

nodeExporter:
  enabled: true
  serviceMonitor:
    relabelings:
      - action: replace
        regex: (.*)
        replacement: $1
        sourceLabels:
          - __meta_kubernetes_pod_node_name
        targetLabel: kubernetes_node

prometheus-node-exporter:
  fullnameOverride: node-exporter
  podLabels:
    jobLabel: node-exporter
  extraArgs:
    - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
    - --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
  service:
    portName: http-metrics
  prometheus:
    monitor:
      enabled: true
      relabelings:
        - action: replace
          regex: (.*)
          replacement: $1
          sourceLabels:
            - __meta_kubernetes_pod_node_name
          targetLabel: kubernetes_node
  resources:
    requests:
      memory: 512Mi
      cpu: 250m
    limits:
      memory: 2048Mi

prometheusOperator:
  enabled: true
  prometheusConfigReloader:
    resources:
      requests:
        cpu: 200m
        memory: 50Mi
      limits:
        memory: 100Mi

prometheus:
  enabled: true
  service:
    type: NodePort
    nodePort: 30090
  prometheusSpec:
    replicas: 1
    replicaExternalLabelName: "replica"
    ruleSelectorNilUsesHelmValues: false
    serviceMonitorSelectorNilUsesHelmValues: false
    podMonitorSelectorNilUsesHelmValues: false
    probeSelectorNilUsesHelmValues: false
    retention: 15d
    enableAdminAPI: true
    walCompression: true
    scrapeInterval: 30s
    evaluationInterval: 30s

thanosRuler:
  enabled: false
+0 −10
Original line number Diff line number Diff line
#!/bin/bash
# Source this file to configure your environment for the Kind cluster
export KUBECONFIG="/home/sergio/i2cat/OperatorPlatform/OP_Automation/ansible/playbooks/../automation/1-kind-cluster/operator-platform-external-kubeconfig.yaml"
echo "✓ KUBECONFIG set to: $KUBECONFIG"
echo ""
echo "Cluster nodes:"
kubectl get nodes
echo ""
echo "To use this cluster in other terminals, run:"
echo "  source /home/sergio/i2cat/OperatorPlatform/OP_Automation/ansible/playbooks/../automation/1-kind-cluster/setup-env.sh"
+0 −5
Original line number Diff line number Diff line
@@ -47,11 +47,6 @@ remote_mongodb_nodeport: 30018

# Port mappings - using parameterized NodePorts to avoid duplication
port_mappings:
  - name: "API Server"
    container_port: "{{ api_server_port }}"
    host_port: "{{ api_server_port }}"
    listen_address: "{{ api_server_address }}"
    protocol: TCP
  - name: "Prometheus"
    container_port: "{{ prometheus_nodeport }}"
    host_port: "{{ prometheus_nodeport }}"
Loading