目录

Kubernetes-概念详解

Kubernetes 概念详解

Kubernetes 作为容器编排系统,通过一系列核心资源实现对分布式应用的全生命周期管理。以下是关键资源的分类与关系:

https://i-blog.csdnimg.cn/direct/40a65c1e86874b949d97399638b1e26c.png

定义 :包含一个或多个紧密协作的容器

特性:

共享网络命名空间

共享存储卷

生命周期一致性

典型场景:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

作用:

资源隔离

权限控制

环境区分

操作示例:

kubectl create namespace dev
kubectl get pods -n dev

使用方式:

作为环境变量注入

挂载为配置文件

直接在 YAML 中引用

创建示例:

kubectl create configmap app-config --from-literal=APP_COLOR=blue

类型:

Opaque(通用类型)

kubernetes.io/dockerconfigjson(镜像仓库认证)

kubernetes.io/basic-auth(基础认证)

安全特性:

加密存储(需开启 etcd 加密)

最小化挂载

审计日志

类型对比:

https://i-blog.csdnimg.cn/direct/1bdf89f31646455697769affc9b28b82.png

核心功能:

基于域名的路由

SSL 终止

请求转发策略

速率限制

特性:

滚动更新

回滚机制

副本管理

升级策略:

strategy:
  rollingUpdate:
    maxSurge: 25%
    maxUnavailable: 25%

关键特性:

唯一网络标识

持久化存储

有序部署 / 扩展

状态持久化

典型应用场景:

数据库集群(MySQL/PostgreSQL)

消息队列(Kafka/RabbitMQ)

分布式缓存(Redis 集群)

类型分类:

临时卷(emptyDir)

持久卷(PersistentVolume)

云存储卷(AWS EBS/GCE PD)

网络存储卷(NFS/GlusterFS)

生命周期:

用户创建 PVC

系统匹配 PV

绑定到 Pod

释放后回收策略

nodeSelector:
  disktype: ssd

污点设置:

kubectl taint nodes node1 key=value:NoSchedule

容忍配置:

tolerations:
- key: "key"
  operator: "Equal"
  value: "value"
  effect: "NoSchedule"

配置示例:

kubectl autoscale deployment web --cpu-percent=80 --min=2 --max=10

定时任务示例:

apiVersion: batch/v1beta1
kind: CronJob
spec:
  schedule: "0 */6 * * *"
  jobTemplate:
    spec:
      containers:
      - name: backup
        image: busybox
        command: ["/bin/sh", "-c", "echo Backup executed at $(date)"]

https://i-blog.csdnimg.cn/direct/10b92bcdd47a403aa97c9eaee46aeab2.png