2. kubernetes操作概览

以下是 Kubernetes 的核心操作概览,涵盖常用命令、资源管理和典型场景的操作流程:


1. 核心操作工具

(1) kubectl 命令行工具

Kubernetes 的所有操作均通过 kubectl 实现,常用命令如下:

操作类型命令示例作用说明
查看资源状态kubectl get pods查看所有 Pod
kubectl get nodes查看集群节点状态
kubectl describe pod <pod-name>查看 Pod 详细信息(含事件日志)
部署应用kubectl apply -f deployment.yaml通过 YAML 文件创建/更新资源
删除资源kubectl delete pod <pod-name>删除指定 Pod
kubectl delete -f deployment.yaml通过 YAML 文件删除资源
调试容器kubectl logs <pod-name> -c <container>查看容器日志
kubectl exec -it <pod-name> -- /bin/sh进入容器交互式终端
资源编辑kubectl edit deployment <deploy-name>直接编辑资源配置(实时生效)
端口转发kubectl port-forward <pod-name> 8080:80将本地端口映射到 Pod 端口

2. 部署应用

(1) 部署一个简单应用(以 Nginx 为例)
# 通过命令行直接创建 Deployment 和 Service
kubectl create deployment nginx --image=nginx:1.23
kubectl expose deployment nginx --port=80 --type=NodePort# 查看服务访问端口
kubectl get service nginx
(2) 通过 YAML 文件部署
  1. 编写 nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.23ports:- containerPort: 80
  1. 应用配置:
kubectl apply -f nginx-deployment.yaml

3. 服务暴露与网络

(1) 通过 Service 暴露应用
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:type: NodePortselector:app: nginxports:- protocol: TCPport: 80targetPort: 80nodePort: 30080  # 外部访问端口(范围 30000-32767)
(2) 使用 Ingress 定义 HTTP 路由
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: nginx-ingress
spec:rules:- host: example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: nginx-serviceport:number: 80

4. 配置与密钥管理

(1) 使用 ConfigMap 注入配置
  1. 创建 ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:name: app-config
data:app.properties: |logging.level=INFOserver.port=8080
  1. 挂载到 Pod:
spec:containers:- name: appimage: my-app:1.0volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: app-config
(2) 使用 Secret 管理敏感信息
# 通过命令行创建 Secret
kubectl create secret generic db-secret \--from-literal=username=admin \--from-literal=password=123456

在 Deployment 中引用:

env:
- name: DB_USERNAMEvalueFrom:secretKeyRef:name: db-secretkey: username

5. 存储管理

(1) 动态创建持久化存储(PVC)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: data-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi

挂载到 Pod:

volumeMounts:
- name: data-volumemountPath: /data
volumes:
- name: data-volumepersistentVolumeClaim:claimName: data-pvc

6. 扩缩容与更新

(1) 手动扩缩容
kubectl scale deployment nginx --replicas=5
(2) 自动扩缩容(HPA)
kubectl autoscale deployment nginx --cpu-percent=50 --min=2 --max=10
(3) 滚动更新
kubectl set image deployment/nginx nginx=nginx:1.24
kubectl rollout status deployment/nginx  # 查看更新状态
kubectl rollout undo deployment/nginx   # 回滚到上一版本

7. 监控与日志

(1) 查看资源使用情况
kubectl top nodes  # 查看节点资源使用
kubectl top pods   # 查看 Pod 资源使用
(2) 集成 Prometheus + Grafana
  1. 部署 Prometheus Operator:
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/bundle.yaml
  1. 配置 ServiceMonitor 监控应用指标:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:name: app-monitor
spec:endpoints:- port: webselector:matchLabels:app: nginx

8. 权限控制(RBAC)

(1) 创建 ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:name: my-serviceaccount
(2) 定义 Role 和 RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: read-pods
subjects:
- kind: ServiceAccountname: my-serviceaccount
roleRef:kind: Rolename: pod-readerapiGroup: rbac.authorization.k8s.io

9. 故障排查

(1) 查看事件日志
kubectl get events --sort-by=.metadata.creationTimestamp
(2) 调试 Pod
kubectl describe pod <pod-name>    # 查看 Pod 详细信息(事件、状态)
kubectl logs <pod-name> -c <container> --previous  # 查看崩溃容器的日志

10. 图形化管理工具

  1. Kubernetes Dashboard
    官方 Web UI,支持资源查看、部署和删除操作。

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
    kubectl proxy  # 本地访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
    
  2. Lens
    跨平台桌面客户端,提供可视化集群管理。


总结

核心流程
构建镜像 → 定义 YAML → 部署资源 → 暴露服务 → 监控维护
关键操作
• 使用 kubectl 管理资源生命周期。
• 通过 Deployment 和 Service 管理应用部署与访问。
• 利用 ConfigMap 和 Secret 分离配置与代码。
• 通过 PVC 和 StorageClass 管理持久化存储。
• 结合 HPA 和监控实现自动化运维。

掌握这些操作后,即可高效管理 Kubernetes 集群中的容器化应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/75967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Ampere到Hopper:GPU架构演进对AI模型训练的颠覆性影响

一、GPU架构演进的底层逻辑 AI大模型训练效率的提升始终与GPU架构的迭代深度绑定。从Ampere到Hopper的演进路径中&#xff0c;英伟达通过‌张量核心升级‌、‌显存架构优化‌、‌计算范式革新‌三大技术路线&#xff0c;将LLM&#xff08;大语言模型&#xff09;训练效率提升至…

p2p的发展

PCDN&#xff08;P2P内容分发网络&#xff09;行业目前处于快速发展阶段&#xff0c;面临机遇与挑战并存的局面。 一、发展机遇 技术融合推动 边缘计算与5G普及&#xff1a;5G的高带宽、低延迟特性与边缘计算技术结合&#xff0c;显著提升PCDN性能&#xff0c;降低延迟&#x…

计算机视觉与深度学习 | 视觉里程计(Visual Odometry, VO)学习思路总结

视觉里程计(Visual Odometry, VO)学习思路总结 视觉里程计(VO)是通过摄像头捕获的图像序列估计相机运动轨迹的技术,广泛应用于机器人、自动驾驶和增强现实等领域。以下是一个系统的学习路径,涵盖基础理论、核心算法、工具及实践建议:一、基础理论与数学准备 核心数学工具…

Ubuntu 24.04 中文输入法安装

搜狗输入法&#xff0c;在Ubuntu 24.04上使用失败&#xff0c;安装教程如下 https://shurufa.sogou.com/linux/guide 出现问题的情况&#xff0c;是这个帖子里描述的&#xff1a; https://forum.ubuntu.org.cn/viewtopic.php?t493893 后面通过google拼音输入法解决了&#x…

阿里云 MSE Nacos 发布全新“安全防护”模块,简化安全配置,提升数据保护

作者&#xff1a;张文浩 阿里云在其微服务引擎&#xff08;MSE&#xff09;注册配置中心 Nacos 上正式推出全新“安全防护”功能模块&#xff0c;旨在帮助企业用户有效管理安全状态和降低开启安全相关功能的学习成本&#xff0c;提升微服务架构的安全性。首期推出的“安全防护…

C#核心(23)StringBuilder

前言 我们先前已经了解了String的一些基本规则和常见的用法,今天就来讲一下和string有所区别的StringBulider。 在 C# 中,StringBuilder 类是一个非常有用的工具,特别是在需要频繁修改字符串时。与 String 类型不同,StringBuilder 类提供了一种动态字符串,可以在不创建新…

活动图与流程图的区别与联系:深入理解两种建模工具

目录 前言1. 活动图概述1.1 活动图的定义1.2 活动图的基本构成要素1.3 活动图的应用场景 2. 流程图概述2.1 流程图的定义2.2 流程图的基本构成要素2.3 流程图的应用场景 3. 活动图与流程图的联系4. 活动图与流程图的区别4.1 所属体系不同4.2 表达能力差异4.3 使用目的与语境4.4…

idea运行springboot项目,运行时不能生成target

1&#xff0c;问题 项目本来运行正常&#xff0c;突然重启项目运行时&#xff0c;提醒主类找不到&#xff0c;发现target未生成 2&#xff0c;解决办法 查看.idea里面的文件&#xff0c;正常是下面这样的 如果有缺失&#xff0c;删除.idea里面的文件&#xff0c;清除idea缓…

【unity游戏开发——Animator动画】Animator动画状态机复用——重写动画控制器 Animator Override Controller

注意&#xff1a;考虑到UGUI的内容比较多&#xff0c;我将UGUI的内容分开&#xff0c;并全部整合放在【unity游戏开发——Animator动画】专栏里&#xff0c;感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、状态机复用是什么&#xff1f;二、实战专栏推荐完结 一、状态机复…

山东大学软件学院创新项目实训(11)之springboot+vue项目接入deepseekAPI

因为该阶段是前后端搭建阶段&#xff0c;所以没有进大模型的专项训练&#xff0c;所以先用老师给的deepseek接口进行代替 且因为前端设计部分非本人负责且还没有提交到github上&#xff0c;所以目前只能先编写一个简易的界面进行功能的测试 首先进行创建model类 然后创建Cha…

FreeRTOS入门与工程实践-基于STM32F103(二)(互斥量,事件组,任务通知,软件定时器,中断管理,资源管理,调试与优化)

互斥量 一、互斥量&#xff08;Mutex&#xff09;&#xff1a;解决多任务 “抢资源” 的问题 1. 是什么&#xff1f; 互斥量是一种 “任务间互斥访问资源” 的工具&#xff0c;本质是一个 只能被锁定&#xff08;0&#xff09;或释放&#xff08;1&#xff09;的二进制信号量…

软考笔记10——网络与信息安全基础知识

第十章节——网络与信息安全基础知识 网络与信息安全基础知识 第十章节——网络与信息安全基础知识一、网络概述1. 计算机网络概念2. 计算机网络分类3. 网络拓补结构4. ISO/OSI网络体系结构1. ISO/OSI参考模型 二、网络互联硬件1. 网络的设备2. 网络的传输介质 三、网络协议与标…

Tycoon2FA钓鱼工具包发布重大更新,强化反检测能力

钓鱼即服务&#xff08;PhaaS&#xff09;平台升级反检测功能 网络安全公司Sekoia于2023年发现的钓鱼工具包Tycoon2FA近期发布重大更新&#xff0c;显著提升了其反检测能力。该工具包现采用多项高级规避技术&#xff0c;包括通过HTML5 canvas实现的自定义验证码、混淆JavaScri…

【信息系统项目管理师】高分论文:论信息系统项目的整合管理(旅游景区导游管理平台)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文一、制定项目章程二、制订项目管理计划三、指导和管理项目工作四、管理项目知识五、监控项目工作六、实施整体变更控制七、结束项目或阶段论文 在国家《中国旅游“十三五”发展规划信息化专项规划的背景下…

深入理解微信小程序开发:架构、组件化与进阶实战

&#x1f4d8;博文正文&#xff1a; 深入理解微信小程序开发&#xff1a;架构、组件化与进阶实战 微信小程序已成为移动互联网的重要入口。随着业务复杂度提升&#xff0c;仅靠入门知识已无法应对日常开发需求。本文将深入剖析小程序开发架构、组件化模式、状态管理、网络封装…

PBKDF2全面指南(SpringBoot实现版)

文章目录 第一部分:PBKDF2基础概念1. 什么是PBKDF2?2. 为什么需要PBKDF2?3. PBKDF2的工作原理4. PBKDF2与其他密码散列函数的比较第二部分:在Java和SpringBoot中使用PBKDF21. Java内置的PBKDF2支持2. SpringBoot中集成PBKDF22.1 添加依赖2.2 配置PBKDF2密码编码器2.3 自定义…

RTP Payload Format for H.264 Vide(1)

摘要&#xff1a;&#xff1a; 本备忘录描述了一种用于 ITU-T H.264 视频编码标准&#xff08;与 ISO/IEC 国际标准 14496-10 技术上相同&#xff09;的 RTP 负载格式&#xff0c;但不包括可伸缩视频编码&#xff08;SVC&#xff09;扩展和多视角视频编码&#xff08;MVC&#…

论文翻译:2024-arxiv How to Steer LLM Latents for Hallucination Detection?

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 How to Steer LLM Latents for Hallucination Detection? https://arxiv.org/pdf/2503.01917 https://www.doubao.com/chat/2818934852496130 其它资料: https://blog.csdn.net/we…

第四篇:[特殊字符] 深入理解MyBatis[特殊字符] 掌握MyBatis Generator ——入门与实战

引言 什么是 MyBatis Generator&#xff1f; MyBatis Generator (MBG) 是一个代码生成工具&#xff0c;专为 MyBatis 框架设计。它可以根据数据库表结构自动生成 Java 实体类、Mapper 接口、Mapper XML 文件以及 Example 类。通过使用 MBG&#xff0c;开发者可以显著减少编写…

利用纯JS开发浏览器小窗口移动广告小功能

效果展示 直接上代码 如果要用到vue项目里面&#xff0c;直接按照vue的写法改动就行&#xff0c;一般没有多大的问题&#xff0c;顶部的占位是我项目需求&#xff0c;你可以按照要求改动。 <!DOCTYPE html> <html> <head><meta charset"utf-8"…