Sno*_*ash 3 kubernetes kubectl
根据文档:
https://kubernetes.io/docs/reference/ generated/kubectl/kubectl-commands#run
kubectl run NAME --image=image
将运行图像。
一些问题:
我认为这是一个 Pod,而不是一个容器?
我假设 NAME 与 pod 相关联?
雪崩,你说得对。这与 docker run 命令基本相同。因此,使用kubectl run NAME --image=image将准确地运行一个名为docker 镜像的pod。
您可以使用下面的示例来检查到底发生了什么NAMEimagekubectl describe pod NAMEkubectl run nginx --image=nginx
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 89s (x2 over 89s) default-scheduler 0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.
Normal Scheduled 19s default-scheduler Successfully assigned default/nginx-7cdbd8cdc9-glkxq to centos-master
Normal Pulling 18s kubelet, centos-master pulling image "nginx"
Normal Pulled 14s kubelet, centos-master Successfully pulled image "nginx"
Normal Created 14s kubelet, centos-master Created container
Normal Started 14s kubelet, centos-master Started container
Run Code Online (Sandbox Code Playgroud)
那么之后发生的事情kubectl run就是:
调度程序尝试选择一个节点来启动容器(起初由于污点而失败,因为我的节点处于 NotReady 状态(目前并不重要,但您可以在此处阅读更多相关信息)
调度程序已成功将 pod 分配给节点(centos-master)。
kubelet 检查 docker 镜像是否可用,并在必要时拉取它。
然后容器被创建并启动。
*在这里您可以找到一篇有趣的文章,其中以更详细的方式解释了这一点。
这个名字与 pod 相关,因为 Pod 是 Kubernetes 中最小的工作单元。每个 Pod 可以包含一个或多个容器。Pod 中的所有容器都具有相同的 IP 地址和端口空间,可以访问托管该 pod 的节点上的共享存储。
基本上,kubectl命令行工具支持多种不同的方式来创建和管理Kubernetes 对象:
*您可以在StackOverflow 答案或 Medium文章中找到有关它们的更多信息。
run命令是命令式方法的一个例子。是最简单的开始
[...] 因为该技术直接在活动对象上运行,所以它不提供以前配置的历史记录。
| 归档时间: |
|
| 查看次数: |
3632 次 |
| 最近记录: |