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

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: nginx
    image: 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: nginx
    image: nginx:1.23.4-alpine
  - name: linux
    image: alpine

2.2 解决办法 

cat 03-nginx-alpine.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-linux-004
spec:
  containers:
  - name: nginx
    image: nginx:1.23.4-alpine
  - name: linux 
    image: alpine
   ## 给容器分配标准输入 默认值位false
   #stdin: true
   ## 给容器分配一个启动命令,修改Dockerfile的CMD指令
   #args: ["tail","-f","/etc/hosts"]
   ## 给容器分配一个启动命令。相当于ENTRYPOINT
    command:
    - "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: true
  containers:
  - name: nginx
    image: 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

​​​​​​​


http://www.kler.cn/a/510399.html

相关文章:

  • 简单介绍JSONStream的使用
  • 简历_使用 Redis 解决集群模式下的 Session 共享问题,使用拦截器实现用户的登录,校验和权限刷新以及对单位时间内请求频繁的用户IP地址进行限流。
  • 【Azure 架构师学习笔记】- Azure Function (2) --实操1
  • Leetcode3097:或值至少为 K 的最短子数组 II
  • XML在线格式化 - 加菲工具
  • springboot多环境配置
  • 基于无线传感器网络的森林防火设备远程监控系统(论文+源码)
  • 根据进程id查看服务使用的垃圾收集器
  • 论文阅读:CosAE Learnable Fourier Series for Image Restoration
  • 大数据面试——引入
  • 【NextJS】PostgreSQL 遇上 Prisma ORM
  • 单链表的删除实战
  • NEC纪实 :2024全国机器人大赛 Robocon 常州工学院团队首战国三
  • QT笔记- Qt6.8.1 Android编程 添加AndroidManifest.xml文件以支持修改权限
  • VB.net实战(VSTO):解决WPS Ribbon图标灰色背景
  • 简单日志宏实现(C++)
  • Invicti-Professional-V25.1
  • MATLAB基础应用精讲-【数模应用】基于粒子群算法的风光储微电网经济运行优化调度(附MATLAB代码实现)
  • 《自动驾驶与机器人中的SLAM技术》ch8:基于预积分和图优化的紧耦合 LIO 系统
  • Qt Desiogn生成的ui文件转化为h文件
  • kubernetes简介
  • LLM - 大模型 ScallingLaws 的 CLM 和 MLM 中不同系数(PLM) 教程(2)
  • 图论DFS:黑红树
  • Python库之PyAutoGUI安装以及使用方法
  • 使用 Hadoop 实现大数据的高效存储与查询
  • 题海拾贝:力扣 反转链表