我现在正在尝试在Kubernetes集群上运行一个带shell(/ bin/bash)的简单容器.
我认为有一种方法可以通过使用pseudo-tty和分离选项(命令-td选项docker run)来保持容器在Docker容器上运行.
例如,
$ sudo docker run -td ubuntu:latest
Run Code Online (Sandbox Code Playgroud)
在Kubernetes有这样的选择吗?
我尝试使用如下kubectl run-container命令运行容器:
kubectl run-container test_container ubuntu:latest --replicas=1
Run Code Online (Sandbox Code Playgroud)
但容器会退出几秒钟(就像使用docker run上面提到的没有选项的命令启动一样).并且ReplicationController重复再次启动它.
有没有办法让Kubernetes上的容器像命令中的-td选项一样运行docker run?
这就是我不断得到的:
[root@centos-master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nfs-server-h6nw8 1/1 Running 0 1h
nfs-web-07rxz 0/1 CrashLoopBackOff 8 16m
nfs-web-fdr9h 0/1 CrashLoopBackOff 8 16m
Run Code Online (Sandbox Code Playgroud)
下面是"describe pods" kubectl describe pods的输出
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
16m 16m 1 {default-scheduler } Normal Scheduled Successfully assigned nfs-web-fdr9h to centos-minion-2
16m 16m 1 {kubelet centos-minion-2} spec.containers{web} Normal Created Created container with docker id 495fcbb06836
16m 16m 1 {kubelet centos-minion-2} spec.containers{web} …Run Code Online (Sandbox Code Playgroud)