Upgrading to CRDs

main
Jaromir Rivera 2022-08-26 10:16:11 -04:00
parent f0801ff1bd
commit e478b09d68
3 changed files with 151 additions and 61 deletions

View File

@ -1,12 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: metallb-config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 172.16.10.30-172.16.10.50

View File

@ -13,24 +13,11 @@ data:
imagePullSecrets: [] imagePullSecrets: []
nameOverride: "" nameOverride: ""
fullnameOverride: "" fullnameOverride: ""
loadBalancerClass: ""
# To configure MetalLB, you must specify ONE of the following two # To configure MetalLB, you must specify ONE of the following two
# options. # options.
# existingConfigMap specifies the name of an externally-defined
# ConfigMap to use as the configuration. Helm will not manage the
# contents of this ConfigMap, it is your responsibility to create it.
existingConfigMap: "metallb-config"
# configInline specifies MetalLB's configuration directly, in yaml
# format. When configInline is used, Helm manages MetalLB's
# configuration ConfigMap as part of the release, and
# existingConfigMap is ignored.
#
# Refer to https://metallb.universe.tf/configuration/ for
# available options.
# configInline: {}
rbac: rbac:
# create specifies whether to install and use RBAC rules. # create specifies whether to install and use RBAC rules.
create: true create: true
@ -53,6 +40,20 @@ data:
# port both controller and speaker will listen on for metrics # port both controller and speaker will listen on for metrics
metricsPort: 7472 metricsPort: 7472
# if set, enables rbac proxy on the controller and speaker to expose
# the metrics via tls.
# secureMetricsPort: 9120
# the name of the secret to be mounted in the speaker pod
# to expose the metrics securely. If not present, a self signed
# certificate to be used.
speakerMetricsTLSSecret: ""
# the name of the secret to be mounted in the controller pod
# to expose the metrics securely. If not present, a self signed
# certificate to be used.
controllerMetricsTLSSecret: ""
# the service account used by prometheus # the service account used by prometheus
# required when .Values.prometheus.podMonitor.enabled == true # required when .Values.prometheus.podMonitor.enabled == true
serviceAccount: "" serviceAccount: ""
@ -61,15 +62,69 @@ data:
# required when .Values.prometheus.podMonitor.enabled == true # required when .Values.prometheus.podMonitor.enabled == true
namespace: "" namespace: ""
# the image to be used for the kuberbacproxy container
rbacProxy:
repository: gcr.io/kubebuilder/kube-rbac-proxy
tag: v0.12.0
# Prometheus Operator PodMonitors # Prometheus Operator PodMonitors
podMonitor: podMonitor:
# enable support for Prometheus Operator # enable support for Prometheus Operator
enabled: false enabled: false
# optional additionnal labels for podMonitors # optional additionnal labels for podMonitors
additionalLabels: {} additionalLabels: {}
# optional annotations for podMonitors
annotations: {}
# Job label for scrape target
jobLabel: "app.kubernetes.io/name"
# Scrape interval. If not set, the Prometheus default scrape interval is used.
interval:
# metric relabel configs to apply to samples before ingestion.
metricRelabelings: []
# - action: keep
# regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
# sourceLabels: [__name__]
# relabel configs to apply to samples before ingestion.
relabelings: []
# - sourceLabels: [__meta_kubernetes_pod_node_name]
# separator: ;
# regex: ^(.*)$
# target_label: nodename
# replacement: $1
# action: replace
# Prometheus Operator ServiceMonitors. To be used as an alternative
# to podMonitor, supports secure metrics.
serviceMonitor:
# enable support for Prometheus Operator
enabled: false
speaker:
# optional additional labels for the speaker serviceMonitor
additionalLabels: {}
# optional additional annotations for the speaker serviceMonitor
annotations: {}
# optional tls configuration for the speaker serviceMonitor, in case
# secure metrics are enabled.
tlsConfig:
insecureSkipVerify: true
controller:
# optional additional labels for the controller serviceMonitor
additionalLabels: {}
# optional additional annotations for the controller serviceMonitor
annotations: {}
# optional tls configuration for the controller serviceMonitor, in case
# secure metrics are enabled.
tlsConfig:
insecureSkipVerify: true
# Job label for scrape target # Job label for scrape target
jobLabel: "app.kubernetes.io/name" jobLabel: "app.kubernetes.io/name"
@ -93,13 +148,15 @@ data:
# Prometheus Operator alertmanager alerts # Prometheus Operator alertmanager alerts
prometheusRule: prometheusRule:
# enable alertmanager alerts # enable alertmanager alerts
enabled: false enabled: false
# optional additionnal labels for prometheusRules # optional additionnal labels for prometheusRules
additionalLabels: {} additionalLabels: {}
# optional annotations for prometheusRules
annotations: {}
# MetalLBStaleConfig # MetalLBStaleConfig
staleConfig: staleConfig:
enabled: true enabled: true
@ -145,10 +202,23 @@ data:
enabled: true enabled: true
# -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none` # -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
logLevel: info logLevel: info
# command: /controller
# webhookMode: enabled
image: image:
repository: quay.io/metallb/controller repository: quay.io/metallb/controller
tag: tag:
pullPolicy: pullPolicy:
## @param controller.updateStrategy.type Metallb controller deployment strategy type.
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
## e.g:
## strategy:
## type: RollingUpdate
## rollingUpdate:
## maxSurge: 25%
## maxUnavailable: 25%
##
strategy:
type: RollingUpdate
serviceAccount: serviceAccount:
# Specifies whether a ServiceAccount should be created # Specifies whether a ServiceAccount should be created
create: true create: true
@ -168,6 +238,7 @@ data:
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []
priorityClassName: "" priorityClassName: ""
runtimeClassName: ""
affinity: {} affinity: {}
podAnnotations: {} podAnnotations: {}
livenessProbe: livenessProbe:
@ -189,6 +260,7 @@ data:
# daemonset. # daemonset.
speaker: speaker:
enabled: true enabled: true
# command: /speaker
# -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none` # -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
logLevel: info logLevel: info
tolerateMaster: true tolerateMaster: true
@ -199,6 +271,14 @@ data:
repository: quay.io/metallb/speaker repository: quay.io/metallb/speaker
tag: tag:
pullPolicy: pullPolicy:
## @param speaker.updateStrategy.type Speaker daemonset strategy type
## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
##
updateStrategy:
## StrategyType
## Can be set to RollingUpdate or OnDelete
##
type: RollingUpdate
serviceAccount: serviceAccount:
# Specifies whether a ServiceAccount should be created # Specifies whether a ServiceAccount should be created
create: true create: true
@ -219,7 +299,7 @@ data:
priorityClassName: "" priorityClassName: ""
affinity: {} affinity: {}
## Selects which runtime class will be used by the pod. ## Selects which runtime class will be used by the pod.
# runtimeClassName: runtimeClassName: ""
podAnnotations: {} podAnnotations: {}
livenessProbe: livenessProbe:
enabled: true enabled: true
@ -238,12 +318,16 @@ data:
# frr contains configuration specific to the MetalLB FRR container, # frr contains configuration specific to the MetalLB FRR container,
# for speaker running alongside FRR. # for speaker running alongside FRR.
frr: frr:
enabled: true enabled: false
# FRR_LOGGING_LEVEL used to set logging level for all running frr processes.
# Possible settings are :-
# informational, warning, errors and debugging.
logLevel: informational
image: image:
repository: quay.io/frrouting/frr repository: frrouting/frr
tag: stable_7.5 tag: v7.5.1
pullPolicy: pullPolicy:
metricsPort: 7473
# if set, enables a rbac proxy sidecar container on the speaker to
# expose the frr metrics via tls.
# secureMetricsPort: 9121
crds:
enabled: true

View File

@ -0,0 +1,18 @@
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: main-pool
namespace: metallb-system
spec:
addresses:
- 172.16.10.30-172.16.10.50
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
namespace: metallb-system
spec:
ipAddressPools:
- main-pool