#这里containerPort是容器内部的port,是标记作用不能改变

本文通过一个 Kubernetes YAML 文件展示了如何配置 Pod 中的 containerPort,强调了 containerPort 是容器内部端口,不能直接对外提供服务。通过 `kubectl` 命令查看 Pod 状态,并使用 `docker ps` 和 `netstat` 验证容器内部端口监听情况。同时提到了 Nginx 的默认配置文件 `default.conf` 使用的端口为 80。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[root@master ~]# cat nginx_test.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: test-nginx-20210311
spec:
  containers:
  - image: nginx
    name: my-nginx
    ports:
      - containerPort: 8081 #这里containerPort是容器内部的port,是标记作用不能改变
      
[root@master ~]# kubectl get pod 
NAME                  READY   STATUS      RESTARTS   AGE
deploy-nginx          2/2     Running     0          171m
hello-cg8vf           0/1     Completed   0          131m
hello-gjfcx           0/1     Completed   0          130m
hello-l85lc           0/1     Completed   0          134m
hello-mtsp9           0/1     Completed   0          131m
hello-rtkbr           0/1     Completed   0          1

<think>好的,用户想了解Kubernetes在Linux中的概念和用途。首先,我需要从基础入手,解释Kubernetes是什么,它的核心功能和架构。用户可能对容器编排不太熟悉,所以得先说明容器化的重要性,再引出Kubernetes的作用。 接下来,结合用户提供的引用内容,比如引用[1]提到Kubernetes能部署任何容器化应用,这里要强调其跨平台和灵活性。引用[3]中的集群状态显示多个节点,可以解释Master和Worker节点的角色,以及它们如何协作管理容器。 用户可能对实际应用场景感兴趣,需要列举几个常见用例,比如微服务、持续部署,这样他们能更好地理解Kubernetes的实用性。还要注意使用中文,避免技术术语过于晦涩,必要时用比喻帮助理解。 另外,用户提供的引用中有部署相关的内容,比如引用[2]提到高可用集群,这里可以简要提到高可用性的配置方法,但不用深入,保持概述的简洁。同时,引用[3]中的kuboard安装说明,可能用户对管理界面有兴趣,可以提到Kubernetes的Dashboard或其他UI工具。 最后,生成的相关问题需要覆盖基本概念、部署、架构、优势和场景,确保问题能引导用户进一步学习。检查是否所有数学公式都正确使用了$...$或$$...$$格式,虽然当前内容可能涉及较少数学,但如果有版本号或命令中的符号,需注意格式正确。确保回答结构清晰,分点明确,引用标记正确放置,比如在提到部署容器化应用时添加[^1]。</think>### Kubernetes (K8s) 在 Linux 中的概念及用途 #### 1. **核心概念** - **容器编排**:Kubernetes 是用于自动化容器化应用部署、扩展和管理的开源平台,通过调度容器(如 Docker)实现资源的高效利用。 - **集群架构**:包含两类节点: - **Master 节点**:负责集群管理,运行 API Server、Controller Manager、Scheduler 等核心组件[^3]。 - **Worker 节点**:运行实际应用容器,包含 Kubelet(代理程序)和容器运行时(如 Docker)。 - **核心对象**: - **Pod**:最小部署单元,包含一个或多个共享资源的容器。 - **Deployment**:定义 Pod 的副本数与更新策略。 - **Service**:为 Pod 提供稳定的网络端点,支持负载均衡。 #### 2. **核心用途** - **自动化运维**: - 自动修复:当节点或容器故障时,重新调度 Pod 到健康节点。 - 滚动更新:通过逐步替换 Pod 版本实现零停机部署。 - **弹性伸缩**: - 水平扩展:根据 CPU/内存使用率自动增减 Pod 副本数。 - 集群扩容:动态添加 Worker 节点(如引用[2]中提到的多节点部署)。 - **多云支持**:统一管理跨云平台或本地数据中心的容器集群。 #### 3. **典型应用场景** 1. **微服务架构**:将单体应用拆分为多个微服务,通过 Kubernetes 管理服务间通信与资源隔离。 2. **持续交付(CI/CD)**:集成 Jenkins/GitLab CI 实现自动化构建、测试和部署(如引用[3]中提到的 CICD 平台需求)。 3. **批处理任务**:运行定时任务或数据处理作业(如 Spark 任务),通过 Job/CronJob 对象管理。 #### 4. **Linux 中的操作示例** 查看集群节点状态(如引用[3]中所示): ```bash kubectl get nodes ``` 输出结果示例: ``` NAME STATUS ROLES AGE VERSION vms81.liruilongs.github.io Ready control-plane,master 36d v1.22.2 vms82.liruilongs.github.io Ready <none> 36d v1.22.2 ``` 部署一个 Nginx 服务: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

scan724

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

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

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

打赏作者

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

抵扣说明:

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

余额充值