31 Temmuz 2023 Pazartesi

fieldRef'i Environment Olarak Kullanma

Giriş
Deployment içindeki bazı değerleri environment variable olarak eklemek mümkün
1. Pod valueFrom/fieldRef/fieldPath ile istenilen field değerini environment variable olarak yükler.

Örnek
Şöyle yaparız
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app-container
          image: my-app-image:latest
          ports:
            - containerPort: 8081
          env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
SpringBoot uygulamasından okumak için şöyle yaparız. Böylece POD ismine ortam değişkeni olarak erişebiliriz.
@RestController
@RequestMapping("/example")
public class MyController {

  @Value("${POD_NAME}")
  private String podName;

  @GetMapping("/getPodName")
  public void printPodName() {
    System.out.println(podName);
  }
}


Hiç yorum yok:

Yorum Gönder

Kubernetes kind: Cluster

Örnek Şöyle yaparız apiVersion: cluster.k8s.io/v1alpha1 kind: Cluster metadata: name: my-cluster spec: autoscaler: enabled: true ...