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

embedded/2025/1/21 2:30:13/

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.ppmy.cn/embedded/155650.html

相关文章

Visual Studio Code + Stm32 (IAR)

记录一下, 以前看别人在 vsc 下配置 stm32 工程非常麻烦。 最近,突然发现, iar 官方出了两个插件, iar build 、 iar C-Spy 安装之后,配置一下 iar 软件路径。 然后,直接打开工程目录,编译…

汽车免拆诊断案例 | 2007 款法拉利 599 GTB 车发动机故障灯异常点亮

故障现象  一辆2007款法拉利599 GTB车,搭载6.0 L V12自然吸气发动机(图1),累计行驶里程约为6万km。该车因发动机故障灯异常点亮进厂检修。 图1 发动机的布置 故障诊断 接车后试车,发动机怠速轻微抖动,…

MySQL 主从复制原理及其工作过程的配置

一、MySQL主从复制原理 MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作…

安全算法 - 摘要算法

安全算法 - 摘要算法 文章目录 安全算法 - 摘要算法一:摘要算法概述二:MD5 摘要算法三:SHA1摘要算法 一:摘要算法概述 简介 摘要算法属于哈希散列加密算法消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数…

解决Spring Boot中Druid连接池“discard long time none received connection“警告

在使用Spring Boot结合Druid连接池时,开发者可能会遇到"discard long time none received connection"的警告信息。虽然这通常不会影响应用程序的正常运行,但这些警告信息可能会让人感到困扰。本文将探讨这个问题的原因,并提供几种…

战场物联网:通信挑战与最新解决方案综述

论文标题 The Internet of Battle Things: A Survey on Communication Challenges and Recent Solutions 作者信息 Rachel Kufakunesu, Herman Myburgh, Allan De Freitas 论文出处 Discover Internet of Things (2025) 5:3 | The internet of battle things: a survey on…

Spring Boot框架总结(超级详细)

前言 本篇文章包含Springboot配置文件解释、热部署、自动装配原理源码级剖析、内嵌tomcat源码级剖析、缓存深入、多环境部署等等,如果能耐心看完,想必会有不少收获。 一、Spring Boot基础应用 Spring Boot特征 概念: 约定优于配置&#…

Python编程中的两种主要的编程模式

在Python编程中,有两种主要的编程模式被广泛使用:面向过程编程(Procedural Programming) 和 面向对象编程(Object-Oriented Programming, OOP)。这两种模式各有优缺点,适用于不同的场景。 1. 面…