一文带你了解 K8s 是如何部署应用的

本文通过实战演示如何使用Kubernetes(K8s)部署Nginx服务。包括创建Deployment资源、暴露服务、查看Pod状态及Node IP,并通过浏览器验证服务是否正常运行。

k8s-cert


通过部署一个 Nginx 服务/实例来简单介绍 K8s 部署一个应用的流程。

1、创建 deployment 资源

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

2、查看 deployment 资源

kubectl get deployment

image-20221212151900671

3、查看节点上的 pod

kubectl get pod

image-20221212151942659

那 pod 是运行在哪个 Node 节点的呢?我们可以通过以下命令查看:

kubectl get pod -o wide

image-20221212152725350

4、查看 NodeIP

kubectl get pod,svc

image-20221212153055727

5、浏览器访问验证

http://192.168.56.160:32223/

image-20221212153252958

流程:

  1. kubectl 发送请求到 API Server;
  2. API Server 通知 ControllerManager 创建一个 deployment 资源;
  3. Scheduler 执行调度任务,根据 Node 节点资源情况自动将 Pod 分发到可用的 Node 节点(上面案例 work1);
  4. work1 节点上的 kubectl 就会创建并运行 Pod。
Kubernetes (k8s)是一种用于自动化应用程序部署、扩展和管理的开源容器编排平台。在k8s中,Pod是最小的可调度和可管理的单位,也是应用程序的运行实例。 Pod是一组共享资源的容器集合,它们运行在同一个节点上,并共享相同的网络命名空间和存储卷。一个Pod通常包含一个或多个紧密相关的容器,它们共享相同的生命周期和资源。这些容器之间可以通过本地主机上的localhost进行通信。 Pod的设计理念是将一组密切相关的容器放在同一个Pod中,以便它们能够轻松地共享资源,包括存储和网络。Pod可以在Kubernetes上进行水平扩展,即通过增加Pod的数量来增加应用程序的容量和吞吐量。 Pod是临时的和短暂的,它可以在任何时候被创建、销毁或重新创建。这个设计使得应用程序变得弹性和可伸缩,并支持故障恢复。当Pod被销毁时,Kubernetes会自动重新创建一个新的Pod来替代它,以保持应用程序的可用性。 Pod具有唯一的IP地址,并且可以由其他Pod或外部网络访问。它还可以指定一些元数据(如标签和注释),以方便按需选择和管理Pod。通过使用Pod模板,可以定义Pod的规范,包括容器映像、资源要求和环境变量等。 总之,Pod是Kubernetes中的基本概念,它是一组紧密相关的容器的运行实例。Pod提供了容器之间共享资源的环境,并支持弹性扩展和故障恢复。通过使用Pod,我们可以更高效地管理和部署我们的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值