当前位置: 首页 > news >正文

云计算-K8s 实战:Pod、安全上下文、HPA 、CRD、网络策略、亲和性等功能配置实操指南

简介

此次围绕Kubernetes 日常管理中的核心场景,提供了从基础到进阶的实操配置指南。内容涵盖 9 大关键知识点:从使用 nginx 镜像创建 QoS 类为 Guaranteed 的 Pod,到为 Pod 配置安全上下文以指定运行用户和组;从自定义 Student 资源类型(CRD),到配置 Sidecar 实现跨命名空间流量控制;还包括给 Pod 添加主机别名、创建自定义伸缩灵敏度的 HPA 规则、通过节点亲和性将 Pod 调度到特定标签节点,以及配置网络策略限制 Pod 访问权限,最后详解了节点压力驱逐机制的设置方法。每个场景均附带完整的 YAML 配置示例、操作命令及验证步骤,助力高效掌握 K8s 资源管理与调度的关键技巧

1.Pod管理--创建Pod

在default命名空间下使用nginx:latest镜像创建一个QoS类为Guaranteed的Pod,名称为qos-demo。

 # QoS类是Kubernetes用来决定Pod的调度和驱逐的策略
 #对于 QoS 类为 Guaranteed 的 Pod:,Pod 中的每个容器都必须指定内存限制和内存请求,对于 Pod 中的每个容器,内存限制必须等于内存请求,Pod 中的每个容器都必须指定 CPU 限制和 CPU 请求,对于 Pod 中的每个容器,CPU 限制必须等于 CPU 请求。 [root@k8s-master-node1 ~]# cat qos-demo.yaml 
 apiVersion: v1
 kind: Pod
 metadata:
   name: qos-demo
 spec:
   containers:
   - name: qos-demo
     image: nginx:latest
     imagePullPolicy: IfNotPresent
     resources:
       limits:
         memory: "200Mi"
         cpu: "700m"
 [root@k8s-master-node1 ~]# kubectl describe pod qos-demo 
  qosClass: Guaranteed
         
 #说明: 如果容器指定了自己的内存限制,但没有指定内存请求,Kubernetes 会自动为它指定与内存限制匹配的内存请求。 同样,如果容器指定了自己的 CPU 限制,但没有指定 CPU 请求,Kubernetes 会自动为它指定与 CPU 限制匹配的 CPU 请求。  

确保容器始终能获得固定的资源配额,避免因资源争抢导致性能波动。

2.安全管理--配置 Pod 安全上下文 

使用busybox镜像启动一个名为context-demo的Pod,为该Pod配置安全上下文,要求 容器内以用户 1000 和用户组 3000 来运行所有进程,并在启动时执行“sleep 1h”命令。

 ​ 安全上下文(Security Context)定义 Pod 或 Container 的特权与访问控制设置。 安全上下文包括但不限于:
 自主访问控制(Discretionary Access Control): 基于用户 ID(UID)和组 ID(GID) 来判定对对象(例如文件)的访问权限。
 安全性增强的 Linux(SELinux):
 •allowPrivilegeEscalation•:控制进程是否可以获得超出其父进程的特权。
 ​
 [root@k8s-master-node1 ~]# cat context-demo.yaml 
 -------------------
 apiVersion: v1
 kind: Pod
 metadata:
   name: context-demo
 spec:
   containers:
   - image: busybox:latest
     name: context-demo
     imagePullPolicy: IfNotPresent
     command: ["sh","-c","sleep 1h"]
     securityContext:
       runAsUser: 1000  #进程都使用用户 ID 1000 来运行 
       run
http://www.lryc.cn/news/623546.html

相关文章:

  • Android Studio中创建Git分支
  • 记忆翻牌游戏 greenfoot 开发
  • 今日科技热点速递:机遇与技术融合下的创新加速
  • 《MutationObserver深度解构:重塑自动化视觉回归测试的底层逻辑》
  • java基础(十)sql的mvcc
  • CVPR2 2025丨大模型创新技巧:文档+语音+视频“大模型三件套”
  • 原子操作(Atomic Operation):指在执行过程中不会被中断的操作
  • 基础IO_系统文件IO | 重定向【Linux】
  • Rust Web 全栈开发(十三):发布
  • 芯片行业主要厂商
  • shell编程——Makefile
  • RocketMQ面试题-未完
  • CentOS7安装部署GitLab社区版
  • 产品设计.Ai产品经理
  • 【学习笔记】面向AI安全的26个缓解措施
  • 炒股术语:“洗盘”
  • 为何她总在关键时“失联”?—— 解密 TCP 连接异常中断
  • Java研学-SpringCloud(五)
  • 【电路笔记 通信】AXI4-Lite协议 FPGA实现 Valid-Ready Handshake 握手协议
  • 报错注入原理与全方法总结
  • Baumer高防护相机如何通过YoloV8深度学习模型实现行人跌倒的检测识别(C#代码UI界面版)
  • 基于Spring Boot+Vue的莱元元电商数据分析系统 销售数据分析 天猫电商订单系统
  • MySQL黑盒子研究工具 strace
  • TensorRT-LLM.V1.1.0rc0:在无 GitHub 访问权限的服务器上编译 TensorRT-LLM 的完整实践
  • Vue中v-show与v-if的区别
  • 负载测试与压力测试详解
  • mac电脑开发嵌入式基于Clion(stm32CubeMX)
  • 【力扣热题100】双指针—— 三数之和
  • Unity进阶--C#补充知识点--【Unity跨平台的原理】了解.Net
  • 44.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成认证(三)