17 Mart 2022 Perşembe

Kubernetes kind: ConfigMap - Konfigürasyon Dosyasıdır

Giriş
Declarative yöntem yerine komut satırını kullanmak istersek kubectl create configmap kullanılır
Ortam değişkenleri gibi düşünülebilir. 

- Bu veriye bir başka yaml dosyasından erişmek için configMapKeyRef anahtar kelimesi kullanılır
- Bu veriye SpringBoot application.properties veya application.yaml dosyasından erişmek mümkün. Bir örnek burada

ConfigMap'teki Değişklikleri Diğer Namespace'e de Yansıtma
Reflector kullanılabilir. Açıklaması şöyle
What is Reflector?

Reflector is a Kubernetes addon designed to help us automatically reflect changes to ConfigMaps and Secrets from one namespace to another.

The first pros of Reflector is that it monitors the resources (configmaps and secrets) that we specify, and if in other namespaces there are no such resources, Reflector creates a new one, and if there are, then it does nothing.

The second pros of Reflector is that monitor changes to resources (secrets and configmaps) and reflect changes to other namespaces.

 
1. ConfigMap Yaratma
binaryData Alanı
Açıklaması şöyle
ConfigMap objects now support binary data via a new binaryData field. When using kubectl create configmap --from-file, files containing non-UTF8 data will be placed in this new field in order to preserve the non-UTF8 data. Note that kubectl's --append-hash feature doesn't take binaryData into account. Use of this feature requires 1.10+ apiserver and kubelets.
Örnek
Şöyle yaparız
apiVersion: v1
kind: ConfigMap
metadata:
  name: templates
binaryData:
  filename1: {{ .Files.Get "foldername/filename1.zip" | b64enc }}
  filename2: {{ .Files.Get "foldername/filename2.zip" | b64enc }}
data Alanı
Örnek - key/value 
Şöyle yaparız
apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-config
data:
  MYSQL_ROOT_HOST: root
  MYSQL_ROOT_PASSWORD: password

k create configmap mysql-config --from-env-file=/root/mysql-env.txt
Örnek - String sql cümlesi
Şöyle yaparız
apiVersion: v1
kind: ConfigMap
metadata:
  name: vitess-init-sql-demo
data:
  inititial.sql: "..."
Örnek - bash script
Şöyle yaparız
apiVersion: v1
kind: ConfigMap
metadata:
  name: redis-startup
  namespace: redis
data:
  redis-startup.sh: |
    #!/bin/sh
    ...
    fi
Örnek - bash script
Şöyle yaparız
apiVersion: v1
kind: ConfigMap
metadata:
  name: slim-shady-configmap
data:
  slim-shady.sh: |
    #!/bin/bash

    echo "Hi!"
    echo "My name is"
    echo "What?"
    echo "My name is"
    echo "Who?"
    echo "My name is"
    echo "Chika-chika"
    echo "Slim Shady"
yazılarına bakabilirsiniz

Hiç yorum yok:

Yorum Gönder

Cluster Propotional Autoscaler - ReplicaSet Ekler/Siler

Giriş Açıklaması şöyle CPA aims to horizontally scale the number of Pod replicas based on the cluster’s scale. A common example is DNS ser...