CentOSのベースイメージだけのポッドを作ってminikubeで動かしてみたら、ちょっとはまった
CentOSのベースイメージだけのポッドを作ってminikubeで動かしてみたら、ちょっとはまったので。
Dockerfile作成
ベースイメージだけをDockerfileに記述します。
# CentOS7 base image
FROM centos:7
Dockerイメージの作成
PS > docker build -t prj-bash:1 -f ./prj-bash.df .
Deploymentの作成
prj-bash
apiVersion: apps/v1
kind: Deployment
metadata:
name: prj-bash
spec:
replicas: 1
selector:
matchLabels:
run: prj-bash
template:
metadata:
labels:
run: prj-bash
spec:
containers:
- name: prj-bash
image: 'prj-bash:1'
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
PS > docker build -t prj-bash:1 -f ./prj-bash.df .
apiVersion: apps/v1
kind: Deployment
metadata:
name: prj-bash
spec:
replicas: 1
selector:
matchLabels:
run: prj-bash
template:
metadata:
labels:
run: prj-bash
spec:
containers:
- name: prj-bash
image: 'prj-bash:1'
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
command
の部分が大事。これがないと、コンテナを起動したときに、「Warning BackOff kubelet, minikube Back-off restarting failed container」となる。且つ、ポッドの中に入れない。
なぜか?下記URLが参考となりました。
https://serverfault.com/questions/924243/back-off-restarting-failed-container-error-syncing-pod-in-minikube
原因は、起動してすぐに終了してしまったため。なので、ポッドにも入れないです。
対処としては、ずーっと常駐して動いているものが有ればよいです。
当然と言えば当然かも。サービスをこれから公開するのだから、常駐しているプロセスが必要ということ。
そこで、yamlのcommand
にずっと動き続けるプロセス(tail -f /dev/null
)を入れてあげています。
minikubeを起動
PS > minikube start
dashboardを起動
PS > minikube dashboard
containerを作成(起動)
PS > kubectl create -f prj-bash.yaml
podの状態を確認
PS > kubectl get pods NAME READY STATUS RESTARTS AGE
prj-bash-68587f695-rtm6c 1/1 Running 0 65s
podの中に入る
PS > kubectl exec -it prj-bash-68587f695-rtm6c /bin/bash
[root@prj-bash-68587f695-rtm6c /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@prj-bash-68587f695-rtm6c /]#
Deploymentの削除
kubectl delete deployment prj-bash
minikubeの停止
minikube stop
PS > minikube start
PS > minikube dashboard
containerを作成(起動)
PS > kubectl create -f prj-bash.yaml
podの状態を確認
PS > kubectl get pods NAME READY STATUS RESTARTS AGE
prj-bash-68587f695-rtm6c 1/1 Running 0 65s
podの中に入る
PS > kubectl exec -it prj-bash-68587f695-rtm6c /bin/bash
[root@prj-bash-68587f695-rtm6c /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@prj-bash-68587f695-rtm6c /]#
Deploymentの削除
kubectl delete deployment prj-bash
minikubeの停止
minikube stop
PS > kubectl create -f prj-bash.yaml
PS > kubectl get pods NAME READY STATUS RESTARTS AGE
prj-bash-68587f695-rtm6c 1/1 Running 0 65s
podの中に入る
PS > kubectl exec -it prj-bash-68587f695-rtm6c /bin/bash
[root@prj-bash-68587f695-rtm6c /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@prj-bash-68587f695-rtm6c /]#
Deploymentの削除
kubectl delete deployment prj-bash
minikubeの停止
minikube stop
PS > kubectl exec -it prj-bash-68587f695-rtm6c /bin/bash
[root@prj-bash-68587f695-rtm6c /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@prj-bash-68587f695-rtm6c /]#
kubectl delete deployment prj-bash
minikubeの停止
minikube stop
minikube stop
Author And Source
この問題について(CentOSのベースイメージだけのポッドを作ってminikubeで動かしてみたら、ちょっとはまった), 我々は、より多くの情報をここで見つけました https://qiita.com/madilloar/items/68fc570ac32c893a92ad著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .