çŸåšè¡šç€ºããŠããã®ã¯ã次ã®ããŒãžã§ã³åãã®ããã¥ã¡ã³ãã§ããKubernetesããŒãžã§ã³: v1.31
Kubernetes v1.31 ã®ããã¥ã¡ã³ãã¯ç©æ¥µçã«ã¡ã³ããã³ã¹ãããŠããŸãããçŸåšè¡šç€ºãããŠããããŒãžã§ã³ã¯ã¹ãããã·ã§ããã§ããææ°ã®ããã¥ã¡ã³ãã¯ãã¡ãã§ã: ææ°ããŒãžã§ã³
ã³ã³ããã®ç°å¢å€æ°ã®å®çŸ©
ãã®ããŒãžã§ã¯ãKubernetes Podã§ã³ã³ããã®ç°å¢å€æ°ãå®çŸ©ããæ¹æ³ã説æããŸãã
å§ããåã«
Kubernetesã¯ã©ã¹ã¿ãŒãå¿ èŠããã€ãã®ã¯ã©ã¹ã¿ãŒãšéä¿¡ããããã«kubectlã³ãã³ãã©ã€ã³ããŒã«ãèšå®ãããŠããå¿ èŠããããŸãã ãã®ãã¥ãŒããªã¢ã«ã¯ãã³ã³ãããŒã«ãã¬ãŒã³ã®ãã¹ããšããŠåäœããŠããªãå°ãªããšã2ã€ã®ããŒããæã€ã¯ã©ã¹ã¿ãŒã§å®è¡ããããšãããããããŸãã ãŸã ã¯ã©ã¹ã¿ãŒããªãå Žåãminikubeã䜿ã£ãŠäœæãããã 以äžã®ããããã®Kubernetesãã¬ã€ã°ã©ãŠã³ãã䜿çšã§ããŸã:
ããŒãžã§ã³ã確èªããã«ã¯æ¬¡ã®ã³ãã³ããå®è¡ããŠãã ãã:kubectl version
.
ã³ã³ããã®ç°å¢å€æ°ãå®çŸ©ãã
Podãäœæãããšãããã®Podã§å®è¡ããã³ã³ããã«ç°å¢å€æ°ãèšå®ããããšãã§ããŸããç°å¢å€æ°ãèšå®ããã«ã¯ãèšå®ãã¡ã€ã«ã« env
ãŸã㯠envFrom
ãã£ãŒã«ããå«ããŸãã
ãã®æŒç¿ã§ã¯ã1ã€ã®ã³ã³ãããå®è¡ããPodãäœæããŸããPodã®èšå®ãã¡ã€ã«ã«ã¯ãåå DEMO_GREETING
ãå€ "Hello from the environment"
ãæã€ç°å¢å€æ°ãå®çŸ©ãããŠããŸããPodã®èšå®ãããã§ã¹ãã以äžã«ç€ºããŸã:
apiVersion: v1
kind: Pod
metadata:
name: envar-demo
labels:
purpose: demonstrate-envars
spec:
containers:
- name: envar-demo-container
image: gcr.io/google-samples/node-hello:1.0
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
-
ãããã§ã¹ãã«åºã¥ããŠPodãäœæããŸã:
kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
-
å®è¡äžã®PodãäžèŠ§è¡šç€ºããŸã:
kubectl get pods -l purpose=demonstrate-envars
åºåã¯ä»¥äžã®ããã«ãªããŸã:
NAME READY STATUS RESTARTS AGE envar-demo 1/1 Running 0 9s
-
Podã§å®è¡ããŠããã³ã³ããã®ã·ã§ã«ãååŸããŸã:
kubectl exec -it envar-demo -- /bin/bash
-
ã·ã§ã«ã§
printenv
ã³ãã³ããå®è¡ãããšãç°å¢å€æ°ã®äžèЧã衚瀺ãããŸãã# ã³ã³ããå ã®ã·ã§ã«ã§ä»¥äžã®ã³ãã³ããå®è¡ããŸã printenv
åºåã¯ä»¥äžã®ããã«ãªããŸã:
NODE_VERSION=4.4.2 EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237 HOSTNAME=envar-demo ... DEMO_GREETING=Hello from the environment DEMO_FAREWELL=Such a sweet sorrow
-
ã·ã§ã«ãçµäºããã«ã¯ã
exit
ãšå ¥åããŸãã
åè:
env
ãŸãã¯envFrom
ãã£ãŒã«ãã䜿çšããŠèšå®ãããç°å¢å€æ°ã¯ãã³ã³ããã€ã¡ãŒãžã§æå®ãããç°å¢å€æ°ãäžæžãããŸããåè:
ç°å¢å€æ°ã¯çžäºã«åç §ã§ãã埪ç°ããŠäœ¿çšå¯èœã§ãã䜿çšããåã«é åºã«æ³šæããŠãã ãããèšå®ã®äžã§ç°å¢å€æ°ã䜿çšãã
Podã®èšå®ã§å®çŸ©ããç°å¢å€æ°ã¯ãPodã®ã³ã³ããã«èšå®ããã³ãã³ããåŒæ°ãªã©ãèšå®ã®ä»ã®å Žæã§äœ¿çšããããšãã§ããŸãã以äžã®èšå®äŸã§ã¯ãç°å¢å€æ°GREETING
ãHONORORIFIC
ãNAME
ã«ãããã Warm greetings to
ãThe Most Honorable
ãKubernetes
ãèšå®ããŠããŸãããããã®ç°å¢å€æ°ã¯ãenv-print-demo
ã³ã³ããã«æž¡ãããCLIåŒæ°ã§äœ¿ãããŸãã
apiVersion: v1
kind: Pod
metadata:
name: print-greeting
spec:
containers:
- name: env-print-demo
image: bash
env:
- name: GREETING
value: "Warm greetings to"
- name: HONORIFIC
value: "The Most Honorable"
- name: NAME
value: "Kubernetes"
command: ["echo"]
args: ["$(GREETING) $(HONORIFIC) $(NAME)"]
äœæããããšãã³ã³ããäžã§echo Warm greetings to The Most Honorable Kubernetes
ãšããã³ãã³ããå®è¡ãããŸãã
次ã®é ç®
- ç°å¢å€æ°ã®è©³çް
- Secretãç°å¢å€æ°ãšããŠäœ¿çšãã詳现
- EnvVarSourceãã芧ãã ããã