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

K8S-Pod资源清单的编写,资源的增删改查,镜像的下载策略

1. Pod资源清单的编写 

1.1 Pod运行单个容器的资源清单

##创建工作目录
mkdir -p /root/manifests/pods  && cd /root/manifests/pods
vim 01-nginx.yaml
##指定api版本
apiVersion: v1
##指定资源类型
kind: Pod
##指定元数据
metadata:##指定名称name: myweb
##用户期望资源
spec:##定义容器资源containers:## 定义容器名称- name: nginx##定义容器镜像image: nginx:1.14.2

 1.2 创建资源清单

kubectl  apply -f 01-nginx.yaml

1.3 查看资源清单

kubectl  get pods -o wide 

1.4 删除资源清单

kubectl delete -f 01-nginx.yaml 

 1.5 访问测试

 1.6 Pod运行两个容器的资源清单

## 1. 编写资源清单
cat 02-nginx-tomcat.yaml 
apiVersion: v1
kind: Pod
metadata:name: nginx-tomcat 
spec:containers:- name: nginximage: nginx:1.23.4-alpine- name: tomcat image: tomcat:jre8-alpine## 2. 创建容器
kubectl apply -f  02-nginx-tomcat.yaml## 3. 查看容器状态
kubectl get pods -o wide

1.7 测试访问

 

2. 故障排查

2.1  CrashLoopBackOff(容器未被阻塞,正在循环重启容器)

## 编写案例资源清单
vim 
apiVersion: v1
kind: Pod
metadata:name: nginx-linux-004
spec:containers:- name: nginximage: nginx:1.23.4-alpine- name: linuximage: alpine

2.2 解决办法 

cat 03-nginx-alpine.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-linux-004
spec:containers:- name: nginximage: nginx:1.23.4-alpine- name: linux image: alpine## 给容器分配标准输入 默认值位false#stdin: true## 给容器分配一个启动命令,修改Dockerfile的CMD指令#args: ["tail","-f","/etc/hosts"]## 给容器分配一个启动命令。相当于ENTRYPOINTcommand:- "tail"args:- "-f"- "/etc/hosts"##以上方法任选其一

2.3 宿主机和容器之间实现数据拷贝

## 将容器文件拷贝到宿主机
kubectl  cp pod名称:文件路径  指定宿主机路径## 将宿主机文件拷贝到容器里
kubectl  cp  指定宿主机路径 pod名称:文件路径

2.3 连接到某个容器 

kubectl exec -it pod名称  -- sh## 不指定默认连接到第一个镜像

2.4 连接到指定容器

kubectl exec -it pod名称  -c 指定容器名 -- sh
kubectl exec -it nginx-tomcat -c tomcat -- sh  ##连接到tomcat容器

3. 集群使用宿主机网络(hostNetwork)

## 编写资源清单
cat 03-nginx-alpine.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-linux-004
spec:## 使用宿主机网络hostNetwork: truecontainers:- name: nginximage: nginx:1.23.4-alpine

 window访问

 4. 调度到指定节点(nodeName)

## 编写资源清单
apiVersion: v1
kind: Pod
metadata:name: game-004
spec:## 使用宿主机网络hostNetwork: true## 调度到指定节点nodeName: k8s233.oldboyedu.com containers:- name: game image: harbor.oldboyedu.com/oldboyedu-games/jasonyin2020/oldboyedu-games:v0.5 

 5. 查看pod指定容器20分钟内的日志

kubectl logs -c nginx -f nginx-tomcat --since=20m --timestamps

​​​​​​​

6. 镜像的下载策略 

## 编写资源清单
apiVersion: v1
kind: Pod
metadata:name: nginx-web-imagepullpolicy-003
spec:nodeName: k8s233.oldboyedu.comcontainers:- name: nginximage: harbor.oldboyedu.com/web/linux85-web:v1 ## 指定镜像的下载策略 有效值值为:Always,Never,IfNotPresent##  Always: 默认值,表示始终拉取最新镜像##  IfNotPresent: 如果本地有镜像,则不去远程仓库拉取,如果本地没有,才会去远程仓库拉取##  Nerver: 如果本地有镜像则尝试启动,如果本地没有镜像,也不会去远程仓库拉取镜像#imagePullPolicy: Always#imagePullPolicy: IfNotPresent#imagePullPolicy: Never 

http://www.lryc.cn/news/523939.html

相关文章:

  • 【Maui】视图界面与数据模型绑定
  • JavaScript笔记基础篇02——运算符、语句、数组
  • 心法利器[127] | 24年算法思考-特征工程和经典深度学习
  • ASP.NET Core 中的 JWT 鉴权实现
  • PyTorch基本功能与实现代码
  • SparkSQL数据模型综合实践
  • 3 查找重复的电子邮箱(having与where区别,distinct去重使用)
  • uniapp——App 监听下载文件状态,打开文件(三)
  • 循环队列(C语言)
  • 数据可视化:让数据讲故事的艺术
  • 雷电9最新版安装Magisk+LSPosd(新手速通)
  • Ubuntu 24.04 LTS 开启 SMB 服务,并通过 windows 访问
  • 使用Websocket进行前后端实时通信
  • vue2使用flv.js在浏览器打开flv格式视频
  • OpenCV相机标定与3D重建(61)处理未校准的立体图像对函数stereoRectifyUncalibrated()的使用
  • [cg] glProgramBinary
  • LeetCode hot 力扣热题100 二叉树的最大深度
  • 速通Docker === 网络
  • 【MySQL — 数据库基础】深入解析MySQL常用数据类型
  • Linux高级--3.3.1 C++ spdlog 开源异步日志方案
  • 电梯系统的UML文档05
  • 如何使 LLaMA-Factory 支持 google/gemma-2-2b-jpn-it 的微调
  • MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换
  • HarmonyOS NEXT开发进阶(十):UIAbility 组件交互
  • 深入探索Math.NET:开启高效数值计算之旅
  • AI编程工具横向评测--Cloudstudio塑造完全态的jupyter notebook助力数据分析应用开发
  • 【2024 CSDN博客之星】技术洞察类:从DeepSeek-V3的成功,看MoE混合专家网络对深度学习算法领域的影响(MoE代码级实战)
  • Linux——入门基本指令汇总
  • 54,【4】BUUCTF WEB GYCTF2020Ezsqli
  • 【Leetcode 热题 100】45. 跳跃游戏 II