正如其他人所说,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
我正在使用 nignx docker image 部署一个 pod。
$ cat pod-nginx.yml
apiVersion: v1
kind: Pod
metadata:
name: alpine
namespace: default
spec:
containers:
- name: alpine
image: alpine
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
您可以通过以下方式获取 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-scheduler 会在其中一个可用节点上调度 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
/ #
https://kubernetes.io/docs/home/- 这可以为您提供有关 pod 以及如何使用 pod/容器进行部署的更多信息。
希望这会有所帮助。