k8s知识点整体概览

1.k8s文件编写

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

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

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

参数说明:

参数 说明 示例 必选
<资源类型> 资源类型(如 pod、deployment、configmap) 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(请求配置)------>后端

相关推荐
会编程的吕洞宾13 分钟前
Spring AI 2.0 结构化输出实战:让大模型返回精准 JSON 不再“抽风“,准确率从 78% 拉到 99%
java·后端
项目題供诗15 分钟前
ai大模型(三)
java
wangjialelele34 分钟前
一文梳理 Spring Cloud 核心组件:Eureka、Nacos、OpenFeign、LoadBalancer 与 Gateway
java·spring boot·spring·spring cloud·微服务·nacos
用户62228840481937 分钟前
站在JDK的角度理解线程池:从execute 到 getTask 一篇讲透
java·面试
Wang's Blog37 分钟前
Java 项目实战: 交友项目 - 个人资料管理的需求分析与接口设计
java·开发语言·交友
北风toto40 分钟前
Linux 服务器如何判断 CPU 是否支持 x86-64-v2 指令集
java·linux·服务器
程序员-Benothing43 分钟前
Linux抓包分析教程:tcpdump、Wireshark、tshark实战
linux·运维·服务器
萧瑟余晖43 分钟前
Spring Security综合实战与安全加固详解
java·安全·spring
QMCY_jason1 小时前
ubuntu x86_64架构的编译 aarch64架构的程序
linux·运维·ubuntu
imDwAaY1 小时前
操作系统如何管理程序运行?从线程、进程到内存隔离与用户态切换:CS162 Note2
android·java·redis