namespace

部署elk7.2.0

扶醉桌前 提交于 2020-02-25 16:39:25
说明: 12 1 单台k8s,本机目录挂载(未配置cephfs)2 如果replicas大于1, 就会出现多个es挂载同一个目录,会出现报错(uuid block) 1. es配置本地挂载 k8s-es-7.2.0.yml 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 apiVersion: v1kind: ServiceAccountmetadata: labels: app: elasticsearch name: elasticsearch7-admin namespace: ns-elastic7apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: name:

算法竞赛入门经典第二章习题解答

空扰寡人 提交于 2020-02-25 01:59:03
本章的题目需用文件输入输出,如果题目代号为abc,那么输入文件为abc.in,输出文件为abc.out。如果对文件操作不熟练,请尽量把fopen和freopen两种方法都尝试一下。 注:本次解答中前4题给出两种方法,第五题采用fopen方法,其余均采用重定向方法。 习题2-1 位数(digit) 问题描述:输入一个不超过10^9的正整数,输出它的位数。例如12735的位数是5.请不要使用任何数学函数,只用四则运算和循环语句实现。 重定向版: #define LOCAL #include<iostream> #include<cstdlib> #include<cstdio> using namespace std; int main() { #ifdef LOCAL freopen("digit.in","r",stdin); freopen("digit.out","w",stdout); #endif // LOCAL int n,cnt=1; scanf("%d",&n); while(n/10) { cnt++; n/=10; } printf("位数:%d\n",cnt); } fopen版: #include<stdio.h> int main() { FILE *fin,*fout; fin=fopen("digit.in","rb"); fout=fopen(

helm命令(1)

非 Y 不嫁゛ 提交于 2020-02-25 00:48:26
发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布 https://edu.csdn.net/course/detail/27109 腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518 介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange

docker容器的底层技术

半腔热情 提交于 2020-02-22 13:43:07
cgroup(实现资源限制) cgroup全称control group。linux操作系统通过cgroup可以设置进程使用CPU、内存和IO资源的限制。--cpu-shares、-m、--device-write-bps实际上就是在配置cgroup。 在/sys/fs/cgroup/cpu/docker目录中,linux会为每个容器创建一个cgroup目录,以容器的长ID命名的目录中包含所有与cpu相关的cgroup配置,文件cpu.shares保存的就是--cpu-shares的配置,同样的,/sys/fs/cgroup/memory/docker和/sys/fs/cgroup/blkio/docker中保存的就是内存以及block io的cgroup配置 namespace(实现资源隔离) 在每个容器中,都有文件系统、网卡等资源,这些资源看上去都是容器自己的。拿容器来说,每个容器都会认为自己有一块独立的网卡。即使host上只有一块物理网卡。这种方式非常好,它使得容器更像一个独立的计算机 linux实现这种方式的技术是namespace。namespace管理着host中全局唯一的资源。可以让每个容器都觉得只有自己在使用它。换句话说,namespace实现了容器间资源的隔离 Linux使用了6种namespace,分别对应6种资源:mount、uts、ipc、pid

深入剖析Kubernetes学习笔记:Pod基本概念(14)

不羁岁月 提交于 2020-02-21 19:25:28
一、凡是调度、网络、存储,以及安全相关的属性,基本上是 Pod 级别的。 1、这些属性的共同特征是,它们描述的是“机器”这个整体,而不是里面运行的“程序”。 1、比如,配置这个“机器”的网卡(即:Pod 的网络定义), 2、配置这个“机器”的磁盘(即:Pod 的存储定义), 3、配置这个“机器”的防火墙(即:Pod 的安全定义)。 4、更不用说,这台“机器”运行在哪个服务器之上(即:Pod 的调度)。 2、NodeSelector:是一个供用户将 Pod 与 Node 进行绑定的字段 apiVersion: v1 kind: Pod ... spec: nodeSelector: disktype: ssd 这样的一个配置,意味着这个 Pod 永远只能运行在携带了“disktype: ssd”标签(Label)的节点上;否则,它将调度失败。 3、NodeName:一旦Pod的这个字段被赋值,Kubernetes 项目就会被认为这个 Pod 已经经过了调度 调度的结果就是赋值的节点名字。所以,这个字段一般由调度器负责设置,但用户也可以设置它来“骗过”调度器, 当然这个做法一般是在测试或者调试的时候才会用到。 4、HostAliases:定义了Pod的hosts文件(比如 /etc/hosts)里的内容 apiVersion: v1 kind: Pod ... spec:

MVC 项目中为什么会有两个web.config

妖精的绣舞 提交于 2020-02-21 05:44:27
我们对MVC 并不陌生, 在创建MVC项目时,总会发现,在工程目录 中有两个 web.config 文件,一个是在工程的根目录下,一是在 views 下,两个web.config 中的内容也不尽相同,那么为什么会有两个 web.config 文件,这就是这篇随笔将要说明的。 根目录下的 web.config 文件    根目录下的web.config 文件是对根目录下的所有文件起作用 ,在打开根目录下的 web.config 文件时,你会发现web.config 为所有的路径或动作注册了  HttpNotFoundHandler, 1 <add path= "*" verb= "*" type= "System.Web.HttpNotFoundHandler" />    或者在 IIS7中,它可能是这么定义的 1 2 <add name= "BlockViewHandler" path= "*.aspx" verb= "*" preCondition= "integratedMode" type= "System.Web.HttpNotFoundHandler" />    另外,你还可以添加自定义出错页面,或一些配置信息,如数据库的连接,键-值对等,工程中的一些配置就是从根目录下的 web.config 中读取的。一些必要的程序集也是在根目录下注册的,当运行项目时,mvc

早上好,我是 Istio 1.1

前提是你 提交于 2020-02-21 03:38:54
1 性能增强 虽然Istio1.0的目标是生产可用,但从去年7月份发布以来,在性能和稳定性上并不能让用户满意。社区的Performance and Scalability工作组在Istio v1.1中做了大量的努力以提高控制面和数据面的性能,其中最明显的性能增强包括: Sidecar API,减少发给proxy的配置数量以及pilot负载。 网络配置规则(Destinationrule,Virtualservie, ServiceEntry)中增加的 exportTo字段限制配置的可见范围。 Envoy默认收集的统计数据大量减少。 给mixer增加load-shedding功能,防止overload。 提升envoy和mixer之间的交互协议。 可配置并发线程数,提高吞吐量。 可配置filter来约束mixer遥测数据。 从对Istio 1.1的测试数据来看,这部分工作取得了显著的效果。 1.1控制面性能表现 Pilot的CPU和内存使用受网格内的配置和系统状态的影响,例如负载变化速率,配置变化速率,连接到Pilot的proxy的数量等。可以通过增加Pilot的实例数来减少配置分发处理的时间,提高性能。 在网格内有1000个服务,2000 个sidecars,每秒1000请求下的表现: 单Pilot 实例使用 1 vCPU 和1.5 GB 的内存。 istio

大型程序的工具——命名空间

馋奶兔 提交于 2020-02-20 05:42:38
一、命名空间   命名空间为防止名字冲突提供了更加可控的机制。命名空间分割了全局命名空间,其中每个命名空间是一个作用域 1、命名空间定义   一个命名空间的定义包含两部分:首先是关键字namespace,随后是命名空间的名字。在命名空间名字后面是一系列由花括号括起来的声明和定义。 1 #include <iostream> 2 #include <string> 3 4 namespace QAQ { 5 int x = 100; 6 } 7 int main() 8 { 9 std::cout << QAQ::x << std::endl; 10 return 0; 11 } View Code   命名空间的名字必须在定义它的作用域内保持唯一。 命名空间既可以定义在全局作用域内,也可以定义在其他命名空间中,但是不能定义在函数或类的内部 。 1)每个命名空间都是一个作用域   命名空间的每个名字都必须表示该空间内的唯一实体。因为不同命名空间的作用域不同,所以在不同命名空间内可以有相同名字的成员。   定义在某个命名空间中的名字可以被该命名空间内的其他成员直接访问,也可以被这些成员内嵌作用域中的任何单位访问。位于该命名空间之外的代码则必须指出所用的名字属于哪个命名空间。 2)命名空间可以是不连续的   命名空间可以定义在几个不同的部分。 1 #include <iostream>

C++ 命名空间

馋奶兔 提交于 2020-02-20 05:26:07
C++ 命名空间 假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。 同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。 因此,引入了 命名空间 这个概念,专门用于解决上面的问题,它可作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上,命名空间就是定义了一个范围。 定义命名空间 命名空间的定义使用关键字 namespace ,后跟命名空间的名称,如下所示: 1 namespace namespace_name { 2 // 代码声明 3 } 为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称,如下所示: 1 name::code; // code 可以是变量或函数 让我们来看看命名空间如何为变量或函数等实体定义范围: 1 #include <iostream> 2 using namespace std; 3 4 // 第一个命名空间 5 namespace first_space{ 6 void func(){ 7 cout << "Inside first

读书笔记-哪来这么多问题

ε祈祈猫儿з 提交于 2020-02-18 13:06:05
我们为什么需要pod? 1. 解决具有超亲密关系容器之间的成组调度问题 :比如在存在A、B、C三个容器,这三个容器之间基于socket和文件交换进行通信,在docker swarm中,可以在这三个容器之间设置affinity约束来要求这三个容器必须调度 到同一个节点,但是往往就存在容器A和B调度在某个节点,而这个节点剩余的资源却又不足与调度容器C的情况。Mesos中有一个资源囤积(resource hoarding)的机制,会在所有设置了 Affinity 约束的任务都达到时,才开始对它们统一进行调度,但是调度效率 难免降低。在 Google Omega 论文中,则提出了使用乐观调度处理冲突的方法,即:先不管这些冲突,而是通过精心设计的回滚机制在出现了冲突之后解决问题,而这种复杂的机制却难于掌握。pod作为Kubernetes里的原子调度单位,统一按照Pod而非容器的资源需求计算来执行调度。 2. 支持容器设计模式 :pod作为一个逻辑概念,通过一个中间容器pause,让业务容器通过join namespace的方式加入到pause中的namespace。比如多个业务容器之间由于都加入到了Network Namespace中,所以他们可以使用localhost进行通信,如果需要为kubernetes 开发一个网络插件,也只需要关心如何配置pause容器的Network