> For the complete documentation index, see [llms.txt](https://docs.furkangulsen.com/kubernetes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.furkangulsen.com/kubernetes/volume/configmap.md).

# ConfigMap

Kubernetes'te `configMap` bir yapılandırma ayarlarını depolamak için kullanılan bir objedir. Bir `configMap` nesnesi, podların kullanabileceği birden çok yapılandırma ayarını depolayabilir. Her bir ayar, bir anahtar-değer çifti olarak depolanır. `configMap` ile depolanan ayarlar, env, arg veya bir dosya olarak kullanılabilir.

Örneğin, bir uygulamanız var ve farklı ortamlarda (geliştirme, test ve prod) kullanmak üzere ayarlarınız var. Bu ayarları her ortam için farklı bir şekilde saklamanız gerekiyor. `configMap`'leri kullanarak, bu ayarları her ortam için farklı bir `configMap` objesi olarak depolayabilirsiniz.

Örneğin, aşağıdaki gibi bir `configMap` objesi tanımlayabilirsiniz:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  DB_HOST: db.example.com
  DB_PORT: "5432"
  API_URL: http://api.example.com
```

Bu örnekte, `app-config` adlı bir `configMap` objesi oluşturulur. `DB_HOST`, `DB_PORT` ve `API_URL` gibi anahtar-değer çiftleri, farklı ortamlarda kullanılmak üzere ayarlar olarak tanımlanır.&#x20;

Daha sonra, bu `configMap` objesi podlarda kullanılabilir. Örneğin, aşağıdaki gibi bir pod tanımı kullanarak `configMap` objesindeki ayarları `env` olarak kullanabilirsiniz:

```yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-app
    image: my-image
    env:
    - name: DB_HOST
      valueFrom:
        configMapKeyRef:
          name: app-config
          key: DB_HOST
    - name: DB_PORT
      valueFrom:
        configMapKeyRef:
          name: app-config
          key: DB_PORT
    - name: API_URL
      valueFrom:
        configMapKeyRef:
          name: app-config
          key: API_URL
```

Bu örnekte, `my-pod` adlı bir pod tanımlanır ve `app-config` adlı `configMap` objesi kullanılarak pod içindeki konteynerlerin env değişkenleri ayarlanır. `configMapKeyRef` özelliği, `configMap` objesindeki ayarların nasıl alınacağını belirtir.
