舱内Kubernetes Docker工艺
我有一个带有CMD的Docker映像来运行Java应用程序 此应用程序正在部署到Kubernetes的容器中。因为,我将它部署为Docker映像,所以我希望它作为Docker进程运行。因此,我刚刚登录到pods并尝试“docker ps” 但是,我很惊讶它是作为Java进程而不是docker进程运行的。我可以通过“ps-ef”查看流程舱内Kubernetes Docker工艺,docker,kubernetes,Docker,Kubernetes,我有一个带有CMD的Docker映像来运行Java应用程序 此应用程序正在部署到Kubernetes的容器中。因为,我将它部署为Docker映像,所以我希望它作为Docker进程运行。因此,我刚刚登录到pods并尝试“docker ps” 但是,我很惊讶它是作为Java进程而不是docker进程运行的。我可以通过“ps-ef”查看流程 我很困惑,它是如何在内部工作的?正如其他人所说,Kubernetes在内部使用docker部署容器。详细地解释了具有4个节点、1个主和3个奴隶的簇。 $ kube
我很困惑,它是如何在内部工作的?正如其他人所说,Kubernetes在内部使用docker部署容器。详细地解释了具有4个节点、1个主和3个奴隶的簇。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
******.mylabserver.com Ready master 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
您可以获得pod的状态,如下所示:
$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
alpine 1/1 Running 0 21s 10.244.3.4 ******.mylabserver.com
Kube调度程序将在一个可用节点上调度pod
现在pod被部署到一个服务器上,您可以登录到该特定服务器并找到您要查找的信息
root@******:/home/user# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
6486de4410ad alpine@sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f "sleep 3600" 58 seconds ago Up 57 seconds
k8s_alpine_alpine_default_2e2b3016-79c8-11e8-aaab-
在该服务器中运行docker exec
命令,查看内部正在运行的进程
root@******:/home/user# docker exec -it 6486de4410ad /bin/sh
/ # ps -eaf
PID USER TIME COMMAND
1 root 0:00 sleep 3600
7 root 0:00 /bin/sh
11 root 0:00 ps -eaf
/ #
这可以为您提供有关吊舱的更多信息,以及如何使用吊舱/容器进行部署
希望这有帮助。正如其他人所说,Kubernetes在内部使用docker部署容器。详细地解释了具有4个节点、1个主和3个奴隶的簇。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
******.mylabserver.com Ready master 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
******.mylabserver.com Ready <none> 13d v1.10.5
您可以获得pod的状态,如下所示:
$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
alpine 1/1 Running 0 21s 10.244.3.4 ******.mylabserver.com
Kube调度程序将在一个可用节点上调度pod
现在pod被部署到一个服务器上,您可以登录到该特定服务器并找到您要查找的信息
root@******:/home/user# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
6486de4410ad alpine@sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f "sleep 3600" 58 seconds ago Up 57 seconds
k8s_alpine_alpine_default_2e2b3016-79c8-11e8-aaab-
在该服务器中运行docker exec
命令,查看内部正在运行的进程
root@******:/home/user# docker exec -it 6486de4410ad /bin/sh
/ # ps -eaf
PID USER TIME COMMAND
1 root 0:00 sleep 3600
7 root 0:00 /bin/sh
11 root 0:00 ps -eaf
/ #
这可以为您提供有关吊舱的更多信息,以及如何使用吊舱/容器进行部署
希望这有帮助。Kubernetes使用用户提供的yaml文件,部署一个pod(Kubernetes部署的较小单元),其中包含一个或多个容器 您可以使用kubectl工具访问pod内的容器。 例如,如果你的吊舱有一个容器,你可以在里面打开一个外壳:
kubectl exec -ti <pod-name> -n <pod-namespace> bash
kubectl exec-ti-n bash
通过这个shell,您可以运行ps
命令,您的输出将是容器中运行的独立进程
如果您想观察Kubernetes在节点中部署的Docker容器,可以连接到该节点并运行
Docker ps
命令。Kubernetes使用用户提供的yaml文件部署一个pod(Kubernetes部署的较小单元),其中包含一个或多个容器
您可以使用kubectl工具访问pod内的容器。
例如,如果你的吊舱有一个容器,你可以在里面打开一个外壳:
kubectl exec -ti <pod-name> -n <pod-namespace> bash
kubectl exec-ti-n bash
通过这个shell,您可以运行ps
命令,您的输出将是容器中运行的独立进程
如果您想观察Kubernetes在节点中部署的Docker容器,您可以连接到该节点并运行
Docker ps
命令。它如何在内部工作?我100%非常肯定这个问题已经被打死了。或者,换一种说法:你读过哪些文章没有充分回答你的问题?[另外,作为一个迂腐的注释:您将其标记为kubernetes
,但您询问了docker
]这是关于kubernetes内部的docker。这就是为什么标记为Kubernetes。从技术上讲,它低于Kubernetes或Docker,并且是关于在容器中运行应用程序的。Docker和Kubernetes只是从容器中的图像启动应用程序的方法。它在内部是如何工作的?我100%非常肯定这个问题已经被打死了。或者,换一种说法:你读过哪些文章没有充分回答你的问题?[另外,作为一个迂腐的注释:您将其标记为kubernetes
,但您询问了docker
]这是关于kubernetes内部的docker。这就是为什么标记为Kubernetes的原因。从技术上讲,它位于Kubernetes或Docker下面,它是关于在容器中运行应用程序的原因。Docker和Kubernetes只是从容器中的映像启动应用程序的方法。请注意,从K8S版本1.20开始,默认配置直接在containerd上运行POD(即,不在Docker上运行)。注意,从K8S版本1.20开始,默认配置直接在containerd上运行吊舱(即,不在Docker上运行)。