自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 这些用来审计 Kubernetes RBAC 策略的方法你都见过吗?

认证与授权对任何安全系统来说都至关重要,Kubernetes 也不例外。即使我们不是安全工作人员,也需要了解我们的 Kubernetes 集群是否具有足够的访问控制权限。Kubernetes 社区也越来越关注容器的安全评估(包括渗透测试,配置审计,模拟攻击),如果你是应用安全工程师,或者是安全感知的 DevOps 工程师,最好了解一下 Kubernetes 的授权模型。Kubernetes 的授权控制原则与大多数系统一样:在授予访问权限时采用最小授权原则。例如,如果某个 Pod 使用了特定的servi.

2021-04-30 14:36:32 169

原创 Kubernetes APIServer 准入控制插件 / 资源限制 ResourceQuota

资源 Quota在生产中我们还会遇到一个场景:假如集群是由多个人同时提交的,或者是多个业务同时在使用,我们肯定要限制某个业务或某个人提交的总量,防止整个集群的资源都会被使用掉,导致另一个业务没有资源使用。Kubernetes 给我们提供了一个能力叫:ResourceQuota 方法。它可以做到限制 namespace 资源用量。具体的做法如上图右侧的 yaml 所示,可以看到它的 spec 包括了一个 hard 和 scopeSelector。hard 内容其实和 Resourcelist

2021-04-28 20:13:01 568

转载 Kubernetes 存储管理:怎样对业务数据进行持久化存储?

Volume 跟 Pod 的生命周期是绑定的,当 Pod被删除后,Volume 中的数据有可能会一同被删除,具体需要看对应的 volume plugin 的使用要求。而这里我们还需要考虑如下几个问题:共享 Volume。目前 Pod 内的 Volume 其实跟 Pod 是存在静态的一一绑定关系,即生命周期绑定。这导致不同 Pod 之间无法共享 Volume。 复用 Volume 中的数据。当 Pod 由于某种原因失败,被工作负载控制器删除重新创建后,我们需要能够复用 Volume 中的旧数据。

2021-04-28 17:32:14 407

原创 Kubernetes 调度 Pod 亲和调度

Pod 亲和调度首先我们来看 Pod 亲和调度,假如我想把一个 Pod 和另一个 Pod 放在一起,这时我们可以看上图中的实例写法,填写上 podAffinity,然后填上 required 要求。在这个例子中,必须要调度到带了 key: k1 的 Pod 所在的节点,并且打散粒度是按照节点粒度去打散索引的。这种情况下,假如能找到带 key: k1 的 Pod 所在节点,就会调度成功。假如这个集群不存在这样的 Pod 节点,或者是资源不够的时候,那就会调度失败。这是一个严格的亲和调度,我们叫做.

2021-04-27 17:15:44 442

原创 Jenkins 流水线语法 01 pipeline作业

什么是Pipeline ?PipelineJenkins的核心是Pipeline(流水线项目),实现了Pipeline As Code。即我们将构建部署测试等步骤全部以代码的形式写到Jenkinsfile中。Jenkins在运行Pipeline任务的时候会按照Jenkinsfile中定义的代码顺序执行。写Jenkinsfile是一项很重的工作,如果稍不注意很容易造成Jenkins的流水线任务失败。Jenkinsfile类似于Dockerfile,具有一套特定的语法。Stage在Jenkins

2021-04-27 17:03:37 1166

转载 Shell命令替换:将命令的输出结果赋值给变量

Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了,这也是 Shell 编程中使用非常频繁的功能。Shell 中有两种方式可以完成命令替换,一种是反引号` `,一种是$(),使用方法如下:variable=`commands`variable=$(commands)其中,variable 是变量名,commands 是要执行的命令。commands 可以只有一个命令,也

2021-04-26 09:44:53 2561

原创 Jenkins 基础 06 项目类型和参数和并发构建

项目类型参数化构建字符参数这个参数可以输入默认值,也可以使用默认值选项参数常用的上面两种参数类型就够了Started by user adminRunning as SYSTEMBuilding in workspace /var/lib/jenkins/workspace/java-test[java-test] $ /bin/sh -xe /tmp/jenkins4707858861058979141.sh+ echo 'Ve...

2021-04-25 16:47:08 530

原创 Ceph 初认与简介

1、为什么要用CephCeph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时都会通过计算得出该数据的位置,尽量的分布均衡。目前也是OpenStack的主流后端存储,随着OpenStack在云计算领域的广泛使用,ceph也变得更加炙手可热。国内目前使用ceph搭建分布式存储系统较为成功的企业有x-sky,深圳元核云,上海UC

2021-04-25 10:22:03 370

转载 数据链路层 ARP!RARP!GARP!Proxy ARP!你了解他们吗?

ARP(Address Resolution Protocol)地址解析协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址。ARP协议:已知IP地址来请求MAC地址。RARP协议(Reverse ARP):已知MAC地址来请求IP地址。GARP协议(Gratuitous ARP):又叫无辜ARP或者免费ARP,作用是用来检测IP地址是否冲突。Proxy ARP(代理 ARP)协议:当主机没有配置网关的时候,但是又想和其他网段通信,需要其他设备以

2021-04-25 08:49:40 1380 1

原创 Ceph故障处理(一)-health_warn:clock skew detected on mon

造成集群状态health_warn:clock skew detected on mon节点的原因有两个,一个是mon节点上ntp服务器未启动,另一个是ceph设置的mon的时间偏差阈值比较小。排查时也应遵循先第一个原因,后第二个原因的方式。1、确认ntp服务是否正常工作$ systemctl status ntpd如果没有安装ntpd,可以参照以下文章进行安装,传送门:Centos7 搭建NTP服务器及客户端同步时间2、修改ceph配置中的时间偏差阈值在deploy节点修改配置文

2021-04-24 16:52:02 2148

原创 Ceph 手把手教你部署ceph集群

1、Ceph版本选择Ceph版本来源介绍Ceph社区最新版本是14,而Ceph12是市面用的最广的稳定版本。第一个Ceph版本是0.1,要回溯到2008年1月。多年来,版本号方案一直没变,直到2015年4月0.94.1(Hammer的第一个修正版)发布后,为了避免0.99(以及0.100或1.00?),制定了新策略。x.0.z-开发版(给早期测试者和勇士们) x.1.z-候选版(用于测试集群、高手们) x.2.z-稳定、...

2021-04-24 16:31:20 3484

原创 Jenkins 基础 05 系统权限管理与视图

Role-Based Strategy插件之前是所有的用户可以登入查看所有的视图安装权限管理插件之前是所有的用户可以登入查看所有的视图(策略修改为如下)管理权限系统设置->Manage and Assign Roles->Manage Roles Global roles:添加用户和用户组,分配某个用户属于哪个用户组。 Item roles:添加某个工程或某一组工程的用户或用户组 Node roles:添加某个节点或某一组节点的用户或用户组..

2021-04-23 16:43:27 793

转载 网络层 ICMP与ping:投石问路的侦察兵

无论是在宿舍,还是在办公室,或者运维一个数据中心,我们常常会遇到网络不通的问题。那台机器明明就在那里,你甚至都可以通过机器的终端连上去看。它看着好好的,可是就是连不上去,究竟是哪里出了问题呢?ICMP 协议的格式一般情况下,你会想到 ping 一下。那你知道 ping 是如何工作的吗?ping 是基于 ICMP 协议工作的。ICMP 全称 Internet Control Message Protocol,就是互联网控制报文协议。这里面的关键词是“控制”,那具体是怎么控制的呢?网络包在.

2021-04-23 08:46:06 323

转载 Linux如何查询CPU信息

CPU基本配置查询名词解释:名词 含义 CPU物理个数 主板上实际插入的cpu数量 CPU核心数 单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores) 逻辑CPU数/线程数 一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术 查看CPU物理个数[root@node5 ~]# grep 'physical id' /proc/cpuinfo | sort -u | wc -l1

2021-04-21 11:51:58 496

转载 5 幅图拿下 ARP 协议

0. 前言在上一篇文章别再恐惧 IP 协议中, 我们了解到,「网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信」。也就是说:只要在网络层确定了 IP 地址,就可以向这个目标地址发送 IP 数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个 IP 地址所对应的 MAC 地址。那么,ARP 就是用来实现由 IP 地址到 MAC 地址转化的一个「网络层协议」,当然,还有一个 RARP 协议可以实现由 MAC 地址到 IP 地址的转化。两者原理都差不多,本文就以 ARP 协议为例..

2021-04-21 09:05:47 183

转载 Kubernetes 基础调度能力(资源调度、关系调度)

这节课主要讲三部分的内容:Kubernetes 的调度过程; Kubernetes 的基础调度能力(资源调度、关系调度); Kubernetes 高级调度能力(优先级、抢占)。Kubernetes 基础调度力下面为大家介绍一下 Kubernetes 的基础调度能力,Kubernetes 的基础调度能力会用两部分来展开介绍:第一部分是资源调度——介绍一下 Kubernetes 基本的一些 Resources 的配置方式,还有 Qos 的概念,以及 Resource Quota 的概念和.

2021-04-20 11:26:27 711

原创 Jenkins 基础 04 用户管理

Jenkins用户管理Jenkins默认使用的是自带的数据库管理用户,支持同步LDAP、Github等认证集成。系统设置 > 管理用户

2021-04-19 16:28:12 272

转载 Kubernetes 调度过程

主要讲三部分的内容:Kubernetes 的调度过程; Kubernetes 的基础调度能力(资源调度、关系调度); Kubernetes 高级调度能力(优先级、抢占)。Kubernetes 调度过程首先来看第一部分 - Kubernetes 的调度过程。如下图所示,画了一个很简单的 Kubernetes 集群架构,它包括了一个 kube-ApiServer,一组 webhooks 的 Controller,以及一个默认的调度器 kube-Scheduler,还有两台物理机节点 Node.

2021-04-19 11:42:58 488

转载 Docker 深入剖析 Linux 容器

今天的内容主要分成以下三个部分:资源隔离和限制; 容器镜像的构成; 容器引擎的构成;前两个部分就是资源隔离和限制还有容器镜像的构成,第三部分会以一个业界比较成熟的容器引擎为例去讲解一下容器引擎的构成。容器容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向..

2021-04-15 08:18:45 490

原创 Kubernetes Pod 的服务质量(QoS)

1. 前言本页介绍怎样配置 Pod 让其获得特定的服务质量(QoS)类。Kubernetes 使用 QoS 类来决定 Pod 的调度和驱逐策略。2. QoS 类Kubernetes 创建 Pod 时就给它指定了下列一种 QoS 类:Guaranteed Burstable BestEffort创建命名空间kubectl create namespace qos-example3. 创建一个 QoS 类为 Guaranteed 的 Pod对于 QoS 类为 Gu..

2021-04-13 19:19:23 646

转载 Kubernetes Pod Resource和Qos

Resource 容器资源配合管理下面介绍一下 Resource,即:容器的一个资源配置管理。目前内部支持类型有三种:CPU、内存,以及临时存储。当用户觉得这三种不够,有自己的一些资源,比如说 GPU,或者其他资源,也可以自己来定义,但配置时,指定的数量必须为整数。目前资源配置主要分成 request 和 limit 两种类型,一个是需要的数量,一个是资源的界限。CPU、内存以及临时存储都是在 container 下的 Resource 字段里进行一个声明。举个例子,wordpress 容器

2021-04-13 18:26:21 431

原创 Jenkins 基础03 配置agent

安装Jenkins Slave安装slave 使用jnlp协议在宿主机上面安装,不推荐使用docker运行slave,slave里面是真正运行任务的,因为需要构建和打包的时候需要很多工具,这样需要将工具集成在docker里面,很麻烦,宿主机安装slave填写节点信息系统设置 > 节点管理 > 新建节点固定节点就是可以简单理解为静态的节点,Node节点是真正工作的,执行器节点的数量设置为1就只能执行一个任务,设置为多个就可以同时执行多个任务,多余这个值就在排队。只允...

2021-04-12 11:49:17 3285

转载 Kubernetes ServiceAccount 解决 pod 在集群里面的身份认证问题

ServiceAccount 介绍接下来,我们讲一下 ServiceAccount。ServiceAccount 首先是用于解决 pod 在集群里面的身份认证问题,身份认证信息是存在于 Secret 里面。[root@k8s-master ~]# kubectl get secretNAME TYPE DATA AGEdefault-token-j9294 kubernetes.io/s

2021-04-12 10:50:12 2215

原创 Jenkins 基础02 配置插件源

配置插件源进入Jenkins首页,然后最下面(点击 Jenkins中文社区)然后跳转到这个页面,按照图中的操作。 (2,3,4)粘贴上个步骤2的复制内容。(https://updates.jenkins-zh.cn/update-center.json)点击立即获取。如果上面不生效可以直接修改配置[root@localhost jenkins]# cd /opt/jenkins_home/[root@localhost jenkins_home]# ls...

2021-04-11 17:38:42 920

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除