草庐IT

Namespace

全部标签

C++全局变量的编译、链接、使用

全局变量,在.h文件声明。1、加extern,对应.cpp可以使用,其它包含此头文件的都可以使用。但如果超过2个文件包含此头文件,会有重复定义的链接错误。可以使用namespace来解决,匿名namespace相当于编译为此obj生成了随机的作用域名称,多个文件包含,也就形成了多个随机作用域,所以一般不建议使用匿名namespace。2、不加extern,只有.h可以使用,对应的.cpp也不可以使用。虽然不可使用,但依旧可以多文件包含此头文件,但是包含后,就是多作用域,也就是多个随机作用域名称。A.cpp包含,就是随机作用域A,B.cpp包含就是随机作用域B。操作时,各用个的。多包含,依然可以

C++全局变量的编译、链接、使用

全局变量,在.h文件声明。1、加extern,对应.cpp可以使用,其它包含此头文件的都可以使用。但如果超过2个文件包含此头文件,会有重复定义的链接错误。可以使用namespace来解决,匿名namespace相当于编译为此obj生成了随机的作用域名称,多个文件包含,也就形成了多个随机作用域,所以一般不建议使用匿名namespace。2、不加extern,只有.h可以使用,对应的.cpp也不可以使用。虽然不可使用,但依旧可以多文件包含此头文件,但是包含后,就是多作用域,也就是多个随机作用域名称。A.cpp包含,就是随机作用域A,B.cpp包含就是随机作用域B。操作时,各用个的。多包含,依然可以

K8S-namespace 六大类型

一、namespace六大类型•Mount(mnt):隔离文件系统挂载点,该namespace有自己的挂载信息,即拥有独立的目录层次总结:提供磁盘挂载点和文件系统的隔离能力•UTS:隔离主机名和域名信息,该namepsace有自己的主机信息,包括主机名(hostname)、NISdomainname总结:提供主机名或域名隔离能力•IPC:隔离进程间通信,该namespace有自己的IPC,比如共享[内存]内存)、信号量等总结:提供进程间通信隔离能力•PID:隔离进程的ID,该namespace有自己的进程号,使得namespace中的进程PID单独编号,比如可以PID=1总结:提供进程隔离能力

K8S-namespace 六大类型

一、namespace六大类型•Mount(mnt):隔离文件系统挂载点,该namespace有自己的挂载信息,即拥有独立的目录层次总结:提供磁盘挂载点和文件系统的隔离能力•UTS:隔离主机名和域名信息,该namepsace有自己的主机信息,包括主机名(hostname)、NISdomainname总结:提供主机名或域名隔离能力•IPC:隔离进程间通信,该namespace有自己的IPC,比如共享[内存]内存)、信号量等总结:提供进程间通信隔离能力•PID:隔离进程的ID,该namespace有自己的进程号,使得namespace中的进程PID单独编号,比如可以PID=1总结:提供进程隔离能力

Docker资源隔离(namespace,cgroups)

目录一、概述二、Linux内核的namespace机制三、namespace(命名空间)可以隔离哪些?四、通过Linux的cgroups控制docker进程资源1)cgroups简介2)查看dockercgroups3)cgroups子系统介绍4)cgroups的作用1、资源限制2、优先级分配3、资源统计4、任务控制5)使用stress工具压测CPU和内存1、内存限制2、内存限制3、磁盘IO配额控制一、概述Docker容器的本质是宿主机上的一个进程。Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件

Docker资源隔离(namespace,cgroups)

目录一、概述二、Linux内核的namespace机制三、namespace(命名空间)可以隔离哪些?四、通过Linux的cgroups控制docker进程资源1)cgroups简介2)查看dockercgroups3)cgroups子系统介绍4)cgroups的作用1、资源限制2、优先级分配3、资源统计4、任务控制5)使用stress工具压测CPU和内存1、内存限制2、内存限制3、磁盘IO配额控制一、概述Docker容器的本质是宿主机上的一个进程。Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件

k8s集群跨namespace访问服务

场景:自己有一个java应用部署在test命名空间下,但是一直无法访问到middleware命名空间下的mysql服务查找资料发现下面所说的问题我们通常会把mysql,redis,rabbitmq,mongodb这些公用组件放在一个namespace里,或者每个公用组件都有自己的namespace,而你的业务组件会统一放在自己的namespace里,这时就涉及到了跨namespace的数据通讯问题。1.同一集群跨namespace访问下面是我的应用以及mysql对应的svc[root@k8s-masterjenkins]#kubectlgetsvc-A|grep'halo\|mysql'mid

k8s集群跨namespace访问服务

场景:自己有一个java应用部署在test命名空间下,但是一直无法访问到middleware命名空间下的mysql服务查找资料发现下面所说的问题我们通常会把mysql,redis,rabbitmq,mongodb这些公用组件放在一个namespace里,或者每个公用组件都有自己的namespace,而你的业务组件会统一放在自己的namespace里,这时就涉及到了跨namespace的数据通讯问题。1.同一集群跨namespace访问下面是我的应用以及mysql对应的svc[root@k8s-masterjenkins]#kubectlgetsvc-A|grep'halo\|mysql'mid

IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置

上一篇文章IoT边缘集群基于KubernetesEvents的告警通知实现目标告警恢复通知-经过评估无法实现原因:告警和恢复是单独完全不相关的事件,告警是Warning级别,恢复是Normal级别,要开启恢复,就会导致所有NormalEvents都会被发送,这个数量是很恐怖的;而且,除非特别有经验和耐心,否则无法看出哪条Normal对应的是告警的恢复.未恢复进行持续告警-默认就带的能力,无需额外配置.告警内容显示资源名称,比如节点和pod名称可以设置屏蔽特定的节点和工作负载并可以动态调整比如,集群001中的节点worker-1做计划性维护,期间停止监控,维护完成后重新开始监控。配置告警内容显示

[k8s]容器基础-隔离与限制

容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬来搬去,这不就是PaaS最理想的状态嘛。"程序"被执行起来,它就从磁盘上的二进制文件,变成了计算机内存中的数据、寄存器里的值、堆栈中的指令、被打开的文件,以及各种设备的状态信息的一个集合。像这样一个程序运行起来后的计算机执行环境的总和,就是:进程容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。对于Docker等大多数Linux容器来说,Cgroups技术是用来制造约束的主要手段,