news 2026/5/11 21:01:31

Kubernetes架构与核心概念详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kubernetes架构与核心概念详解

Kubernetes架构与核心概念详解

1. Kubernetes概述

Kubernetes(K8s)是Google开源的容器编排平台,用于自动化容器化应用的部署、扩展和管理。

2. Kubernetes架构

2.1 控制平面组件

  • kube-apiserver:API服务器,所有操作的入口
  • etcd:分布式键值存储,保存集群状态
  • kube-controller-manager:运行控制器
  • kube-scheduler:调度Pod到节点

2.2 节点组件

  • kubelet:管理Pod生命周期
  • kube-proxy:网络代理
  • container runtime:容器运行时(Docker/containerd)

3. Pod

3.1 Pod定义

apiVersion: v1 kind: Pod metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: nginx:1.21 ports: - containerPort: 80 resources: limits: memory: "128Mi" cpu: "500m" requests: memory: "64Mi" cpu: "250m"

3.2 多容器Pod

spec: containers: - name: main image: nginx - name: sidecar image: busybox command: ['sh', '-c', 'tail -f /var/log/nginx/access.log']

4. Deployment

4.1 Deployment定义

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:1.21 ports: - containerPort: 80

4.2 滚动更新

spec: strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0

5. Service

5.1 ClusterIP Service

apiVersion: v1 kind: Service metadata: name: nginx-svc spec: type: ClusterIP selector: app: nginx ports: - port: 80 targetPort: 80

5.2 NodePort Service

spec: type: NodePort selector: app: nginx ports: - port: 80 targetPort: 80 nodePort: 30080

5.3 LoadBalancer Service

spec: type: LoadBalancer selector: app: nginx ports: - port: 80 targetPort: 80

6. ConfigMap与Secret

6.1 ConfigMap

apiVersion: v1 kind: ConfigMap metadata: name: app-config data: database.url: "postgres://localhost:5432" log.level: "info"

6.2 Secret

apiVersion: v1 kind: Secret metadata: name: app-secrets type: Opaque data: # echo -n "password" | base64 password: cGFzc3dvcmQ=

7. Ingress

7.1 Ingress定义

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: app-ingress spec: rules: - host: app.example.com http: paths: - path: / pathType: Prefix backend: service: name: nginx-svc port: number: 80

7.2 TLS配置

spec: tls: - hosts: - app.example.com secretName: app-tls

8. 总结

Kubernetes提供了完整的容器编排能力,通过Pod、Deployment、Service等资源对象,可以实现应用的自动化部署、扩展和管理。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 20:57:44

HDLbits实战解析:Verilog过程块(Procedures)的两种面孔与避坑指南

1. Verilog过程块的两种面孔:组合逻辑与时序逻辑 刚开始接触Verilog时,很多人会把always块当成万能语法结构来用。直到在HDLbits上做练习时,我才发现同样的always关键字背后藏着完全不同的设计逻辑。组合逻辑的always (*)和时序逻辑的always …

作者头像 李华
网站建设 2026/5/11 20:55:31

【DeepSeek 实战】打造全能编程助手:DeepSeek V4 Agent 开发与工具调用

打造全能编程助手:DeepSeek V4 Agent 开发与工具调用 💡 摘要: Agent(智能体)是大模型应用的高级形态。本文详解如何利用 DeepSeek V4 的 Function Calling 能力,构建能够自主调用外部工具的编程助手。通过定义工具 Sc…

作者头像 李华
网站建设 2026/5/11 20:51:30

Honey Select 2完整汉化与功能增强:一站式解决游戏体验难题

Honey Select 2完整汉化与功能增强:一站式解决游戏体验难题 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾因《Honey Select 2》的语言障碍…

作者头像 李华
网站建设 2026/5/11 20:46:28

VisualCppRedist AIO实战指南:Windows系统VC++运行库一体化解决方案

VisualCppRedist AIO实战指南:Windows系统VC运行库一体化解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当你在Windows上运行游戏或专业软件…

作者头像 李华
网站建设 2026/5/11 20:45:09

新手必看:用Stegsolve和WinHex搞定CTF图片隐写题的保姆级教程

CTF图片隐写入门:从零掌握Stegsolve与WinHex的实战技巧 当你第一次接触CTF竞赛中的Misc杂项题目时,那些看似普通的图片往往暗藏玄机。作为新手,掌握正确的工具和方法论比盲目尝试更重要。本文将带你系统学习如何用Stegsolve和WinHex这两款神器…

作者头像 李华