Kubernetes: ConfigMap ENV рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрднреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдлрд╝рд░ре░ 2017  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

рдкрд░реНрдпрд╛рд╡рд░рдг :

рдЬреАрд╕реАрдкреА рдХрдВрдЯреЗрдирд░ рдХреНрд▓рд╕реНрдЯрд░

рдХреНрдпреВрдм рд╕рдВрд╕реНрдХрд░рдг :

kubectl version
Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.7", GitCommit:"a2cba278cba1f6881bb0a7704d9cac6fca6ed435", GitTreeState:"clean", BuildDate:"2016-09-12T23:15:30Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.8", GitCommit:"c5fcb1951afb8150e4574bc234aed957cb586eb0", GitTreeState:"clean", BuildDate:"2017-01-12T02:14:29Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}

рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣рдо рдХреЙрдиреНрдлрд┐рдЧрдореИрдкреНрд╕/рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХрд╛ рднрд╛рд░реА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдереЗред

рдпрд╣ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╣рдо "Voulme рдкреНрд▓рдЧрдЗрди" рдХреЗ рд░реВрдк рдореЗрдВ configmaps рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ ENV рдХреЗ рд░реВрдк рдореЗрдВ рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

root<strong i="14">@localhost</strong> env-dir]# cat bcsp-env
discovery_app=discovery
discovery_port=8761

kubectl get configmaps bcsp-var -o yaml
apiVersion: v1
data:
  bcsp-env: |
    discovery_app=discovery
    discovery_port=8761
kind: ConfigMap
metadata:
  creationTimestamp: 2017-02-07T14:33:50Z
  name: bcsp-var
  namespace: default
  resourceVersion: "1689350"
  selfLink: /api/v1/namespaces/default/configmaps/bcsp-var
  uid: 7153f6a7-ed42-11e6-b230-42010af00056

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЙрдбрд▓ рдореЗрдВ рдЖрдЬрд╝рдорд╛рдпрд╛, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рддреЛ рдореИрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддрд╛ рд╣реВрдВ рдФрд░ рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВред

cat test.yml
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
    - name: test-container
      image: gcr.io/google_containers/busybox
      command: [ "/bin/sh", "-c", "echo $(DISCOVERY_APP) $(DISCOVERY_PORT)" ]
      env:
        - name: DISCOVERY_APP
          valueFrom:
            configMapKeyRef:
              name: bcsp-var
              key: discovery_app
        - name: DISCOVERY_PORT
          valueFrom:
            configMapKeyRef:
              name: bcsp-var
              key: discovery_port
  restartPolicy: Never

рдкреЙрдб рдиреАрдЪреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ

kubectl describe pod test-pod
Name:           test-pod
Namespace:      default
Node:           gke-container-cluster-it-default-pool-e1732b12-jn5c/10.242.153.2
Start Time:     Tue, 07 Feb 2017 06:34:51 -0800
Labels:         <none>
Status:         Pending
IP:             10.8.1.21
Controllers:    <none>
Containers:
  test-container:
    Container ID:
    Image:              gcr.io/google_containers/busybox
    Image ID:
    Port:
    Command:
      /bin/sh
      -c
      echo $(DISCOVERY_APP) $(DISCOVERY_PORT)
    Requests:
      cpu:              100m
    State:              Waiting
      Reason:           RunContainerError
    Ready:              False
    Restart Count:      0
    Environment Variables:
      DISCOVERY_APP:    <set to the key 'discovery_app' of config map 'bcsp-var'>
      DISCOVERY_PORT:   <set to the key 'discovery_port' of config map 'bcsp-var'>
Conditions:
  Type          Status
  Initialized   True
  Ready         False
  PodScheduled  True
Volumes:
  default-token-1u3vc:
    Type:       Secret (a volume populated by a Secret)
    SecretName: default-token-1u3vc
QoS Tier:       Burstable
Events:
  FirstSeen     LastSeen        Count   From                                                            SubobjectPath                   Type            Reason          Message
  ---------     --------        -----   ----                                                            -------------                   --------        ------          -------
  26s           26s             1       {default-scheduler }                                                                            Normal          Scheduled       Successfully assigned test-pod to gke-container-cluster-it-default-pool-e1732b12-jn5c
  26s           9s              3       {kubelet gke-container-cluster-it-default-pool-e1732b12-jn5c}   spec.containers{test-container} Normal          Pulling         pulling image "gcr.io/google_containers/busybox"
  25s           8s              3       {kubelet gke-container-cluster-it-default-pool-e1732b12-jn5c}   spec.containers{test-container} Normal          Pulled          Successfully pulled image "gcr.io/google_containers/busybox"
  25s           8s              3       {kubelet gke-container-cluster-it-default-pool-e1732b12-jn5c}                                   Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "test-container" with RunContainerError: "GenerateRunContainerOptions: Couldn't find key discovery_app in ConfigMap default/bcsp-var"

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ configmap рдХреА рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ред

рд╕рднреА 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ configmap рдХреА рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЧрд▓рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ред

@ Talk2vino рддреЛ рдкреЙрдбреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреНрдпрд╛ рд╣реИред рдореБрдЭреЗ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jason-riddle picture jason-riddle  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Seb-Solon picture Seb-Solon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zetaab picture zetaab  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

errordeveloper picture errordeveloper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cooligc picture cooligc  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ