çŸåšè¡šç€ºããŠããã®ã¯ã次ã®ããŒãžã§ã³åãã®ããã¥ã¡ã³ãã§ããKubernetesããŒãžã§ã³: v1.32
Kubernetes v1.32 ã®ããã¥ã¡ã³ãã¯ç©æ¥µçã«ã¡ã³ããã³ã¹ãããŠããŸãããçŸåšè¡šç€ºãããŠããããŒãžã§ã³ã¯ã¹ãããã·ã§ããã§ããææ°ã®ããã¥ã¡ã³ãã¯ãã¡ãã§ã: ææ°ããŒãžã§ã³
ã³ã³ããã«ã³ãã³ããšåŒæ°ãå®çŸ©ãã
ãã®ããŒãžã§ã¯ãPodã§ã³ã³ãããå®è¡ãããšãã«ã³ãã³ããšåŒæ°ãå®çŸ©ããæ¹æ³ã説æããŸãã
å§ããåã«
Kubernetesã¯ã©ã¹ã¿ãŒãå¿ èŠããã€ãã®ã¯ã©ã¹ã¿ãŒãšéä¿¡ããããã«kubectlã³ãã³ãã©ã€ã³ããŒã«ãèšå®ãããŠããå¿ èŠããããŸãã ãã®ãã¥ãŒããªã¢ã«ã¯ãã³ã³ãããŒã«ãã¬ãŒã³ã®ãã¹ããšããŠåäœããŠããªãå°ãªããšã2ã€ã®ããŒããæã€ã¯ã©ã¹ã¿ãŒã§å®è¡ããããšãããããããŸãã ãŸã ã¯ã©ã¹ã¿ãŒããªãå Žåãminikubeã䜿ã£ãŠäœæãããã 以äžã®ããããã®Kubernetesãã¬ã€ã°ã©ãŠã³ãã䜿çšã§ããŸã:
ããŒãžã§ã³ã確èªããã«ã¯æ¬¡ã®ã³ãã³ããå®è¡ããŠãã ãã: kubectl version
.
Podã®äœææã«ã³ãã³ããšåŒæ°ãå®çŸ©ãã
Podãäœæãããšãã«ãPodå
ã§å®è¡ããã³ã³ããã®ã³ãã³ããšåŒæ°ãå®çŸ©ã§ããŸããã³ãã³ããå®çŸ©ããã«ã¯ãèšå®ãã¡ã€ã«ã«command
ãã£ãŒã«ããèšè¿°ããŸããã³ãã³ãã®åŒæ°ãå®çŸ©ããã«ã¯ãèšå®ãã¡ã€ã«ã«args
ãã£ãŒã«ããèšè¿°ããŸããå®çŸ©ããã³ãã³ããšåŒæ°ã¯Podã®äœæåŸã«å€æŽããããšã¯ã§ããŸããã
èšå®ãã¡ã€ã«ã§å®çŸ©ããã³ãã³ããšåŒæ°ã¯ãã³ã³ããã€ã¡ãŒãžãæäŸããããã©ã«ãã®ã³ãã³ããšåŒæ°ãäžæžãããŸããåŒæ°ãå®çŸ©ããã³ãã³ããå®çŸ©ããªãã£ãå Žåãããã©ã«ãã®ã³ãã³ããšæ°ããåŒæ°ã䜿çšãããŸãã
åè:
command
ãã£ãŒã«ãã¯ãããã€ãã®ã³ã³ããã©ã³ã¿ã€ã ã§ã¯ãšã³ããªãã€ã³ãã«çžåœããŸãããã®æŒç¿ã§ã¯ã1ã€ã®ã³ã³ãããå®è¡ããPodãäœæããŸããPodã®èšå®ãã¡ã€ã«ã«ã¯ãã³ãã³ããš2ã€ã®åŒæ°ãå®çŸ©ããŸãã
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: ["printenv"]
args: ["HOSTNAME", "KUBERNETES_PORT"]
restartPolicy: OnFailure
YAMLã®èšå®ãã¡ã€ã«ã«åºã¥ããŠPodãäœæ
kubectl apply -f https://k8s.io/examples/pods/commands.yaml
å®è¡äžã®Podããªã¹ãã¢ãã
kubectl get pods
åºåã¯ãcommand-demo Podã§å®è¡ãããã³ã³ãããå®äºããããšã瀺ããŸãã
ã³ã³ããå ã§å®è¡ãããã³ãã³ãã®åºåã確èªããããã«Podã®ãã°ãèŠã
kubectl logs command-demo
åºåã¯ãHOSTNAMEãšKUBERNETES_PORTç°å¢å€æ°ã®å€ã瀺ããŸãã
command-demo tcp://10.3.240.1:443
ç°å¢å€æ°ã䜿ã£ãŠåŒæ°ãå®çŸ©ãã
åè¿°ã®äŸã§ã¯ãæååãæå®ããŠåŒæ°ãçŽæ¥å®çŸ©ããŸãããæååãçŽæ¥æå®ãã代ããã«ãç°å¢å€æ°ã䜿çšããŠåŒæ°ãå®çŸ©ããããšãã§ããŸãã
env:
- name: MESSAGE
value: "hello world"
command: ["/bin/echo"]
args: ["$(MESSAGE)"]
ã€ãŸããConfigMapãSecretãªã©ãç°å¢å€æ°ãå®çŸ©ããããã«å©çšå¯èœãªæè¡ã®ã©ãã䜿ã£ãŠããPodã®åŒæ°ãå®çŸ©ã§ãããšããããšã§ãã
åè:
ç°å¢å€æ°ã¯"$(VAR)"
ãšããæ¬åŒ§ã§å²ãŸããŠè¡šç€ºãããŸããããã¯ãcommand
ãargs
ãã£ãŒã«ãã§å€æ°ãå±éããããã«å¿
èŠã§ããã·ã§ã«ã§ã³ãã³ããå®è¡ãã
ã·ã§ã«ã§ã³ãã³ããå®è¡ããå¿ èŠãããå ŽåããããŸããäŸãã°ãã³ãã³ããè€æ°ã®ã³ãã³ãããã€ãã§ã€ãªãã ãã®ã§ãã£ãããã·ã§ã«ã¹ã¯ãªããã§ãã£ããããŸããã³ãã³ããã·ã§ã«ã§å®è¡ããã«ã¯ã次ã®ããã«èšè¿°ããŸãã
command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]
次ã®é ç®
- Podãšã³ã³ããã®èšå®ã«ã€ããŠãã£ãšããç¥ã
- ã³ã³ããå ã§ã®ã³ãã³ãå®è¡ã«ã€ããŠãã£ãšããç¥ã
- ã³ã³ããã®APIã確èªãã