Pod详解-资源配额
容器中的程序要运行,肯定是要占用一定资源的,比如cpu和内存等,如果不对某个容器的资源做限制,那么它就可能吃掉大量资源,导致其它容器无法运行。针对这种情况,kubernetes提供了对内存和cpu的资源进行配额的机制,这种机制主要通过resources选项实现,他有两个子选项:
limits:用于限制运行时容器的最大占用资源,当容器占用资源超过limits时会被终止,并进行重启
requests :用于设置容器需要的最小资源,如果环境资源不够,容器将无法启动
可以通过上面两个选项设置资源的上下限。
接下来,编写一个测试案例,创建pod-resources.yaml
apiVersion: v1
kind: Pod
metadata:name: pod-resourcesnamespace: dev
spec:containers:- name: nginximage: nginx:1.17.1resources: # 资源配额limits: # 限制资源(上限)cpu: "2" # CPU限制,单位是core数memory: "10Gi" # 内存限制requests: # 请求资源(下限)cpu: "1" # CPU限制,单位是core数memory: "10Mi" # 内存限制
在这对cpu和memory的单位做一个说明:
cpu:core数,可以为整数或小数
memory: 内存大小,可以使用Gi、Mi、G、M等形式
# 运行Pod
[root@k8s-master01 ~]# kubectl create -f pod-resources.yaml
pod/pod-resources created# 查看发现pod运行正常
[root@k8s-master01 ~]# kubectl get pod pod-resources -n dev
NAME READY STATUS RESTARTS AGE
pod-resources 1/1 Running 0 39s # 接下来,停止Pod
[root@k8s-master01 ~]# kubectl delete -f pod-resources.yaml
pod "pod-resources" deleted# 编辑pod,修改resources.requests.memory的值为10Gi
[root@k8s-master01 ~]# vim pod-resources.yaml# 再次启动pod
[root@k8s-master01 ~]# kubectl create -f pod-resources.yaml
pod/pod-resources created# 查看Pod状态,发现Pod启动失败
[root@k8s-master01 ~]# kubectl get pod pod-resources -n dev -o wide
NAME READY STATUS RESTARTS AGE
pod-resources 0/1 Pending 0 20s # 查看pod详情会发现,如下提示
[root@k8s-master01 ~]# kubectl describe pod pod-resources -n dev
......
Warning FailedScheduling 35s default-scheduler 0/3 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 2 Insufficient memory.(内存不足)
Pod详解-资源配额相关推荐
- 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard
笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...
- kubernetes—Pod详解
Pod详解 前言 Pod介绍 Pod结构 Pod定义 pod的几种基础配置 概述 基本配置(name,image) 镜像拉取(imagePullPolicy) 启动命令(command和args) 环 ...
- Kuberneters(2)- Pod详解
第四章 实战入门 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问. Namespace Namespace是kubernetes系统中的一种非常重要资源, ...
- 玩转k8s:Pod详解
1 Pod详解 1.1 Pod介绍 1.1.1 Pod结构 每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少 Pause容器,这是每个Pod都会有的一个 ...
- 【k8s】八、Pod详解(二)
目录 前言 Pod网络通讯方式 不同情况下的网络通讯方式 同一个Pod内部通讯 Pod间的通讯 Pod 与 Service之间的通讯 Pod与外网通讯 Pod到外网 外网到Pod CNI 什么是CNI ...
- 江礼坤:详解资源合作推广
江礼坤:详解资源合作推广之一 有三个多月没有写文章和更新博客了,很多朋友问俺是不是退出江湖了,其实不是俺变懒了,相反的,最近三个多月,写死俺了.因为这几个月在闭门写书,写的是天晕地暗,写了差不多三十来 ...
- k8s之Pod详解(五)【Kubernetes(K8S) 入门进阶实战完整教程,黑马程序员K8S全套教程(基础+高级)】
参考于Kubernetes(K8S) 入门进阶实战完整教程,黑马程序员K8S全套教程(基础+高级) Pod Pod的结构 每个Pod中都可以包含一个或者多个容器 这些容器可以分为两类: 用户自定义用的 ...
- k8s pod 详解
https://www.cnblogs.com/kevingrace/p/11309409.html 一.什么是Pod kubernetes中的一切都可以理解为是一种资源对象,pod,rc,servi ...
- k8s(二)——— pod 详解
Pod Pod 的基本操作 创建pod 1. 先定义模板文件 examplepod.yaml apiVersion: v1 kind: Pod metadata:name: examplepod sp ...
最新文章
- 绑定域名_[云丰网]如何绑定第三方购买的域名?
- Visual Studio 2017常用快捷键(小白入)
- 深度解读NLP文本情感分析Pipeline
- python无参数装饰器_python_之无参装饰器_01
- java蓝桥杯算法训练 求1000以内的完数(题解)
- 中间人攻击利用框架bettercap测试
- 计算机电源检测软件,电脑电源检测工具
- 微信小程序开发之视频上传
- 方舟生存计划怎么删除服务器信息,方舟服务器怎么删除玩家数据 | 手游网游页游攻略大全...
- 如何更好更快的站在巨人的肩膀上?
- 中国邮政国际挂号信网上查询
- golang学习笔记(6)-gorm实现查询功能
- 计算机毕设(附源码)JAVA-SSM快递代收系统
- 面向NDN的网络攻击检测技术分析
- 35岁以后不建议裸辞
- 红色警戒3原版V1.00基址大全
- 计算机技术中的多媒体是什么,在多媒体计算机技术中,媒体含义一般指()。A中介B介质C信息的载体D存储介质 - 试题答案网问答...
- 特么的. 最终把 amobbs 的站长阿莫(莫进明)给回骂了一顿.
- 打造次世代分析型数据库(四):几十张表关联?小Case!
- 阿里云ECS服务器购买及配置,SpringBoot项目部署到阿里云ECS服务器,阿里云ECS服务器安装JDK、Mysql、nginx详细步骤