ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kubernetes The Hard Way 如何用 Deployment 部署第一个 nginx 应用并确认 Pod 状态?

Kubernetes The Hard Way 如何用 Deployment 部署第一个 nginx 应用并确认 Pod 状态? Kubernetes The Hard Way 如何用 Deployment 部署第一个 nginx 应用并确认 Pod 状态【免费下载链接】kubernetes-the-hard-wayBootstrap Kubernetes the hard way. No scripts.项目地址: https://gitcode.com/GitHub_Trending/ku/kubernetes-the-hard-way这篇教程来自 Kubernetes The Hard Way 的 Smoke Test 实验。当你已经按前置 lab 手动搭建好集群控制平面组件运行在单台 server 上另有两台 worker 节点组件版本为 kubernetes v1.32.x接下来要验证集群确实能跑业务用一条kubectl create deployment命令部署一个 nginx 应用然后确认它生成的 Pod 处于运行状态。整个过程从jumpbox机器上执行不修改集群本身的任何配置。前提kubectl 已配置并指向集群所有命令都从jumpbox机器运行。在此之前你需要完成 Configuring kubectl for Remote Access 实验即已用admin用户凭据生成 kubeconfig默认写入~/.kube/config这样kubectl命令无需再显式指定配置文件。先确认kubectl能连通远程集群kubectl version文档示例输出Client Version: v1.32.3 Kustomize Version: v5.5.0 Server Version: v1.32.3再列出集群节点确认节点状态为Readykubectl get nodes文档示例输出NAME STATUS ROLES AGE VERSION node-0 Ready none 10m v1.32.3 node-1 Ready none 10m v1.32.3如果你的环境连不上 API Server问题出在 kubectl 配置或网络如server.kubernetes.local的/etc/hosts记录应先回到 docs/10-configuring-kubectl.md 中给出的curl --cacert ca.crt https://server.kubernetes.local:6443/version检查方式排查而不是继续部署。创建 nginx Deployment执行以下命令为 nginx 服务器创建 Deploymentkubectl create deployment nginx \ --imagenginx:latest这里--imagenginx:latest指定容器镜像。命令成功后Kubernetes 会基于该 Deployment 自动创建一个 Pod并打上appnginx标签。确认 Pod 状态列出nginxDeployment 创建的 Podkubectl get pods -l appnginx文档示例输出NAME READY STATUS RESTARTS AGE nginx-56fcf95486-c8dnx 1/1 Running 0 8s注意示例中的 Pod 名nginx-56fcf95486-c8dnx包含 ReplicaSet 的哈希后缀你实际看到的名字和AGE列的时长都会不同判断依据是READY列为1/1、STATUS列为Running。Pod 名本身是后面几个可选验证步骤需要的可以现在就记录下来。可选查看日志与在容器内执行命令如果 Pod 已经是Running但你想进一步确认容器里的进程真的在工作文档给出了两个验证手段。先取回nginxPod 的完整名字因为上面的名字带有随机后缀直接复用变量更稳妥POD_NAME$(kubectl get pods -l appnginx \ -o jsonpath{.items[0].metadata.name})打印该 Pod 的容器日志kubectl logs $POD_NAME再在nginx容器内执行nginx -v打印版本文档示例输出nginx version: nginx/1.27.4这两步都属于额外的运行确认Pod 状态本身在kubectl get pods已经Running时即可判定。可选端口转发访问 nginx 验证 HTTP 响应如果你想从本地实际请求到这个应用可以先把POD_NAME取回若上一步已执行可跳过然后做端口转发kubectl port-forward $POD_NAME 8080:80文档示例输出Forwarding from 127.0.0.1:8080 - 80 Forwarding from [::1]:8080 - 80保持该终端不退出在新终端中发起 HTTP 请求curl --head http://127.0.0.1:8080文档示例返回了HTTP/1.1 200 OK以及Server: nginx/1.27.4等响应头具体日期、ETag 等字段会随环境变化。确认无误后切回端口转发终端按CtrlC停止转发终端中会显示类似Handling connection for 8080后中断的输出。限制与下一步整个教程的结果不面向生产环境README 中明确说明其定位是学习如何手动搭建 Kubernetes而非生产可用的集群。该实验的后续内容是 docs/12-smoke-test.md 中的 Services 部分用 NodePort 类型 Service 暴露nginxDeployment文档同时说明由于集群未配置云厂商集成LoadBalancer 类型不可用以及 Cleaning Up 清理步骤。如果你只是想验证Deployment 能否拉起 Pod、Pod 状态是否 Ready上面创建 Deployment kubectl get pods -l appnginx两步就是最小完整路径。【免费下载链接】kubernetes-the-hard-wayBootstrap Kubernetes the hard way. No scripts.项目地址: https://gitcode.com/GitHub_Trending/ku/kubernetes-the-hard-way创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表