关注 迪答数据 公众号获取更多 技术/数据 干货文章
参考文档: Kubernetes Managing Compute Resources for Containers(opens new window)
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
在 Kubernetes 中创建工作负载时,您可以为 Pod 中的每一个容器指定其所需要的内存(RAM)大小和 CPU 数量。如果这些信息被指定了,Kubernetes 调度器可以更好的决定将 Pod 调度到哪一个节点。对于容器来说,其所需要的资源也将依据其指定的数值得到保证。
当我们讨论计算资源的时候,主要是指 CPU 和 内存。CPU 的计量单位是内核的单元数,内存的计量单位是 byte 字节数。应用程序可以按量请求、分配、消耗计算资源。
在 Kubernetes 中,1 个 CPU 代表:
- 1 AWS vCPU
- 1 GCP Core
- 1 Azure vCore
- 1 IBM vCPU
- 物理机上 Intel 超线程 CPU 的 1 个超线程(Hyperthread)
Kubernetes 中,0.5 代表请求半个 CPU 资源。表达式 0.1 等价于 表达式 100m (英文读作 one hundred millicpu 或 one hundred millicores)。在 API Server 中,表达式 0.1 将被转换成 100m,精度低于 1m 的请求是不受支持的。 CPU 的计量代表的是绝对值,而非相对值,例如,您请求了 0.1 个 CPU,无论您的节点是 单核、双核、48核,您得到的 CPU 资源都是 0.1 核。
在
top命令查看CPU消耗,100% 代表 1核;4核为 400%;10% 代表 0.1 核 或者 100m
内存的计量单位是 byte 字节。您可以使用一个整数来表达内存的大小,也可以使用后缀来表示(E、P、T、G、M、K)。您也可以使用 2 的幂数来表示内存大小,其后缀为(Ei、Pi、Ti、Gi、Mi、Ki)。例如,下面的几个表达方式所表示的内存大小大致相等:
128974848, 129e6, 129M, 123Mi
kubectl top pod -n bigdata
data-synchronization-9754cb677-gdgxv 6m 676Mi
data-synchronization-taskmanager-1-1 8m 891Mi
dolphinscheduler-alert-7c449f8446-nng4t 2m 508Mi
dolphinscheduler-api-5fccd6d446-qbtjm 4m 659Mi
dolphinscheduler-master-0 4m 982Mi
dolphinscheduler-worker-0 2m 1017Mi
dolphinscheduler-worker-1 4m 992Mi
dolphinscheduler-worker-2 2m 1004Mi
minio-0 7m 222Mi
minio-1 7m 199Mi
minio-2 4m 206Mi
minio-3 6m 168Mi
minio-4 6m 164Mi
kubectl top pod minio-4 -n bigdata
NAME CPU(cores) MEMORY(bytes)
minio-4 7m 164Mi
更多查看命令 :Kubernetes 集群分析查看内存,CPU
| 配置项 | 说明 |
|---|---|
| JobManager CPU Cores | 默认值为1。根据Flink最佳实践,单个JM内存资源需要至少配置为0.25 core和1 Gi,才能保证作业稳定运行。 |
| JobManager Memory | 最小值为1 Gi。单位建议使用Gi或Mi,例如,1024 Mi或1.5 Gi。 |
| TaskManager CPU Cores | 默认值为1。根据Flink最佳实践,单个TM内存资源需要至少配置为0.25 core和1 Gi,才能保证作业稳定运行。 |
| TaskManager Memory | 最小值为2 Gi。单位建议使用Gi或Mi,例如,1024 Mi或1.5 Gi。 |
| 并发度 | 作业全局并发数,默认值为1。 |
| Flink配置 | 可以配置的参数及说明,详情请参见Configuration。 |
复制容器中文件
kubectl cp flink-dev/sit-member-statistic-10-26-1-5c8b55d48c-2d8tt:/opt/flink/usrlib/ /tmp/test
进入到pod里面命令
kubectl exec -n flink-dev sit-member-statistic-10-26-1-5c8b55d48c-2d8tt -it -- bash
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
我想用这两种语言中的任何一种(最好是ruby)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/