-
[综合] 最小化微服务漏洞 Secret存储敏感数据
Secret是一个用于存储敏感数据的资源,所有的数据要经过base64编码,数据实际会存储在K8s中Etcd,然后通过创建Pod时引用该数据。 应用场景:凭据 Pod使用configmap数据有两种方式: ?变量注入 ?数据卷挂载 kubectlcreatesecret支持三...
59
热度 -
[综合] Kubernetes 最佳安全实践指南
在Kubernetes中安全地运行工作负载是很困难的,有很多配置都可能会影响到整个KubernetesAPI的安全性,这需要我们有大量的知识积累来正确的实施。Kubernetes在安全方面提供了一个强大的工具securityContext,每个Pod和容器清单都可以使用这个属性。在本文中我们将了解各...
58
热度 -
[综合] FlexVolume
FlexVolume是Kubernetesv1.8+支持的一种存储插件扩展方式。类似于CNI插件,它需要外部插件将二进制文件放到预先配置的路径中(如/usr/libexec/kubernetes/kubelet-plugins/volume/exec/),并需要在系统中安装好所有需要的依赖。 对于...
104
热度 -
[综合] Kubernetes SecurityContext 安全上下文之 runAsUser以及阻止容器使用 root 户运行
配置节点的安全上下文 除了让pod使用宿主节点的Linux命名空间,还可以在pod或其所属容器的描述中通过securityContext边项配置其他与安全性相关的特性。这个选项可以运用于整个pod,或者每个pod中单独的容器。 了解安全上下文中可以配置的内容,配置安全上下文可以允许你做很多事 ...
29
热度 -
[综合] Kubernetes SecurityContext 安全上下文 容器添加禁用内核功能及阻止对容器根文件系统的写入
过去,传统的UNIX实现只区分特权和非特权进程,但是经过多年的发展,Linux已经可以通过内核功能支持更细粒度的权限系统。 相比于让容器运行在特权模式下以给予其无限的权限,一个更加安全的做法是只给予它使用真正需要的内核功能的权限。 Kubernetes允许为特定的容器添加内核功能,或禁用部分内核功能...
64
热度 -
[综合] 网络安全与ISO参考模型
1.物理层安全 在大厦里面,每一层楼的网线都接入了机房的交换机,结果第12层租给了保险公司,然后公司的工作人员将墙上的网线一插,就能够接入这大厦公司的网络了,大厦里面的计算机都可以看到了,这样就很不安全。或者还比如路由器没有设置密码。 2.数据链路层安全 WiFi-密码 ADSL密码 ...
58
热度 -
[综合] Kubernetes ceph rbd 基于 storageclass动态生成pv
基于storageclass动态生成pv 1、创建rbd的供应商provisionerceph.com/rbd(环境变量里面的值) #把rbd-provisioner.tar.gz上传,手动解压,这里面封装的是镜像 [root@masterceph]#dockerload-irbd-provisi...
66
热度 -
[综合] Kubernetes Cephfs 多pod挂载
文件系统cephfs Ceph文件系统(CephFS)是一个符合POSIX标准的文件系统,它使用Ceph存储集群来存储其数据。Ceph文件系统使用与Ceph块设备相同的Ceph存储集群系统。 用户可以在块设备上创建xfs文件系统,也可以创建ext4等其他文件系统,Ceph集群实现了自己的文件系统来...
38
热度 -
[综合] jenkins中/usr/bin/env: node: No such file or directory
两种方式解决: 第一种:创建node软连接到/usr/sbin目录下 ln-s/application/node-v14.2.0-linux-x64/bin/node/usr/sbin/node 第二种: 在执行sh时添加环境变量 pipeline{agent{node{label"master"...
45
热度 -
[综合] 存储插件 FlexVolume
在Kubernetes中,存储插件的开发有两种方式:FlexVolume和CSI。 接下来,我就先为你剖析一下Flexvolume的原理和使用方法。 举个例子,现在我们要编写的是一个使用NFS实现的FlexVolume插件。 对于一个FlexVolume类型的PV来说,它的YAML文件如下所示: a...
103
热度 -
[综合] Kubernetes 的资源模型与资源管理
而作为Kubernetes的资源管理与调度部分的基础,我们要从它的资源模型开始说起。 在Kubernetes里,Pod是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于Pod对象的字段。而这其中最重要的部分,就是Pod的CPU和内存配置,如下所示: apiVersion:...
80
热度 -
[综合] 6 张图带你搞懂 CI/CD 流水线
在CI/CD和DevOps领域中,持续交付和持续部署是一个老生常谈的话题。持续集成这个术语最早是在1994年由GradyBooch提出。微服务提出者MartinFlower在2014年发表的论文《Microservice》中也对软件开发持续集成提供了可参考原则。 持续集成是借助工具对软件项目进行持...
11
热度 -
[综合] JVM 在容器环境的内存配置
如果容器资源没有设置任何limits并且Java没有设置额外参数的话,Java应用会默认使用宿主机1/4的内存作为MaxHeapSize,可通过如下命令验证: $dockerrun--rm-ti129.0.4.40/common/jdk:8java-XX:+PrintFlagsFinal-versi...
41
热度 -
[综合] Linux 查看MAC地址
如何使用命令查看网卡的MAC地址呢?下面总结一下查看网卡MAC地址的方式。 1:ifconfig命令查看网卡MAC地址 /sbin/ifconfig|grepHWaddr 或 /sbin/ifconfig|grepether [root@jenkins-master~]#ifconfigeth0|g...
40
热度 -
[综合] Kubernetes 默认调度器调度策略解析 Predicates 预选 Priorities 优选
这篇文章中,我们就专注在调度过程中Predicates和Priorities这两个调度策略主要发生作用的阶段。 首先,我们一起看看Predicates。 Predicates在调度过程中的作用,可以理解为Filter,即:它按照调度策略,从当前集群的所有节点中,“过滤”出一系列符合条件的节点。这些节...
41
热度 -
[综合] Kubernetes 持久化存储知识点总结
WhyPV 共享Volume。目前Pod内的Volume其实跟Pod是存在静态的一一绑定关系,即生命周期绑定。这导致不同Pod之间无法共享Volume。 复用Volume中的数据。当Pod由于某种原因失败,被工作负载控制器删除重新创建后,我们需要能够复用Volume中的旧数据。 Volume自身...
42
热度 -
[综合] Go 基础数据类型 (1)整型
整型 我们经常看到这样的变量声明: var(aintbstringcfloat32) 在Go中所有变量都是有类型的,比如前面的int,string,float32这些,因此在接下来我们将先讲解下Go的基础类型 go在语言成面定义了如下几种基础类型: 整形12345 浮点型123.45 复数123...
17
热度 -
[综合] Go 指针 关于指针的有限操作
在前面的文章中,我们已经提到过很多次“指针”了,你应该已经比较熟悉了。不过,我们那时大多指的是指针类型及其对应的指针值,今天我们讲的则是更为深入的内容。 让我们先来复习一下。 typeDogstruct{namestring }func(dog*Dog)SetName(namestring){dog...
67
热度 -
[综合] Kubernetes 从外界连通Service与Service调试“三板斧”
在上一篇文章中,我为你介绍了Service机制的工作原理。通过这些讲解,你应该能够明白这样一个事实:Service的访问信息在Kubernetes集群之外,其实是无效的。 这其实也容易理解:所谓Service的访问入口,其实就是每台宿主机上由kube-proxy生成的iptables规则,以及kub...
45
热度 -
[综合] Kubernetes 工作节点控制平面组件
工作节点控制平面组件 工作节点是Kubernetes集群的负责运行用户容器的载体。它可以是虚拟机,也可以是物理机。初期,社区主推虚拟机方案是为了跟虚拟云平台共存。现在随着容器技术的不断成熟,社区为了降低负载度,开始抽离虚拟化层,因此工作节点的选择方案大趋势是物理机。 一个新的Node加入集群是非...
88
热度