Giriş
Komut satırı yerine declarative yöntemi kullanmak istersek kind: ConfigMap kullanılır--from-env-file seçeneği
Söz dizimi şöyle
k create configmap <configmap-name> --from-env-file=<your-file-name>
Örnek
Elimizde mysql.txt diye şöyle bir dosya olsun
MYSQL_ROOT_HOST=root MYSQL_ROOT_PASSWORD=password
Şöyle yaparız
k create configmap mysql-config --from-env-file=/root/mysql-env.txt
--from-file seçeneği
Söz dizimi şöyle. Yani --from-file ile dizin ismi veya bir dosya ismi verilebilir. Eğer dizin ismi verilirse o dizindeki tüm txt dosyalarını ConfigMap olarak yükler.
k create configmap user-config \ --from-file=<directory-name> or <file-name>
Örnek
Elimizde şöyle bir dizim olsun
root/config-files/ |- user-data.txt |- admin-info.txt # user-data.txt username: superuser password: admin123 # admin-info.txt city: Nobeoka state: Miyazaki country: Japan
ve tüm dosyaları ConfigMap yapalım
# Configmap with directory k create configmap user-config --from-file=/root/config-files
ConfigMap'e bakalım. Çıktısı şöyle. Burada user-config bir volume ve içinde de iki tane dosya var
> k get configmap user-config -o yaml apiVersion: v1 data: admin-info.txt: | username: superuser password: admin123 user-data.txt: | city: Nobeoka state: Miyazaki country: Japan kind: ConfigMap metadata: creationTimestamp: "2022-08-07T09:38:22Z" name: user-config namespace: default resourceVersion: "2007" uid: 915e805a-cb55-4309-977a-566b7a8ed6ac
Örnek
Şöyle yaparız
$ kubectl create configmap foobar —from-file=config.js$ kubectl get configmap foobar -o yaml
--from-literal seçeneği
Söz dizimi şöyle
k create configmap <configmap-name> --from-literal=<key>=value \ --from-literal=<key>=value
Örnek
Şöyle yaparız
k create configmap mysql-config --from-literal=MYSQL_ROOT_HOST=root --from-literal=MYSQL_ROOT_PASSWORD=password
Hiç yorum yok:
Yorum Gönder