Kubernetes: ConfigMap Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ENV

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 7 Ρ„Π΅Π²Ρ€. 2017  Β·  2ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: kubernetes/kubernetes

ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π°Ρ срСда :

ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² GCP

ВСрсия Kube :

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Β». Но это Π½Π΅ сработаСт, Ссли Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ 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

Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» это Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ развСртывания, это Π½Π΅ сработаСт. Π˜Ρ‚Π°ΠΊ, я Π±Π΅Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° сайтС kubernetes ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· busybox.

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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

rhohubbuild picture rhohubbuild  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

pwittrock picture pwittrock  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

jason-riddle picture jason-riddle  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

errordeveloper picture errordeveloper  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

sanjana-bhat picture sanjana-bhat  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ