k8s知识点整体概览

1.k8s文件编写

复制代码
---
kind: 资源名
apiVersion: 版本
metadata:
    名称、命名空间、标签和注解
spec:
    容器

2.生成资源清单模版文件

复制代码
kubectl create <资源类型> <资源名称> [参数] --dry-run=client -o yaml 

参数说明:

参数 说明 示例 必选
<资源类型> 资源类型(如 poddeploymentconfigmap deployment
<资源名称> 资源名称(自定义) my-deployment
[参数] 资源特有参数(如镜像、端口、键值对等) --image=nginx 否(根据资源类型决定)
--dry-run=client 仅生成模板,不提交集群 必选
-o yaml 输出为 YAML 格式 必选

3.查看有哪些资源

复制代码
kubectl create --help

4.查询资源清单怎么编写

复制代码
kubectl explain 资源.一级子项名.二级子项名

5.容器调度

1.基于节点调度

复制代码
spec:
    nodeName: node-0001     # 基于节点名称进行调度

2.基于标签调度

复制代码
基于标签的资源调度,标签可以重复(可标识node节点服务器上的性能,内存等信息)
---
kind: Pod
apiVersion: v1
metadata:
    name: myhttp
    labels:
        app: apache
spec:
    nodeSelector:   #多个标签是逻辑与
        kubernetes.io/hostname: node-002  #node-002节点上的唯一标签
    containers:
        - name: apache
        image: myos:httpd

标签命令

复制代码
# 设置标签
kubectl label <资源类型>/<资源名称> <标签键>=<标签值>

# 给 Pod 添加环境标签
kubectl label pod my-pod env=prod

# 给 Deployment 添加版本标签
kubectl label deployment my-deploy version=1.2.3

# 删除标签
kubectl label 资源类型 资源名称 key值-

6.控制器详解

控制器 适用场景 Pod 管理特点 存储支持 典型用例
Deployment 无状态应用、滚动更新 多副本、动态扩缩容 无(需 PVC) Web 服务、API 网关
DaemonSet 节点级守护进程 每个节点一个 Pod 独立存储(可选) 日志收集、监控 Agent
Job 一次性批处理任务 单次执行,确保成功 支持 PVC 数据迁移、计算任务
CronJob 定时任务 按 Cron 表达式周期性执行 支持 PVC 定时备份、日志清理
StatefulSet 有状态应用 有序启动、稳定网络标识和存储 必须 PVC(隔离数据) 数据库、消息队列
HPA 弹性扩缩容 自动调整副本数 依赖其他控制器 应对流量波动

7.外部服务访问流程

服务名称.名称空间.svc.cluster.local

Ingess资源(配置外部访问的地址,以及转到内部服务地址)------>nginx(请求配置)------>后端

相关推荐
Seven975 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55114 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河15 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程17 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
蝎子莱莱爱打怪19 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
躺平大鹅19 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者20 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺20 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart21 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot