自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kubernetes--LimitRange(针对容器)

默认情况下,K8s集群上的容器对计算资源没有任何限制,可能会导致个别容器资源过大导致影响其他容器正常工作,这时可以使用LimitRange定义容器默认CPU和内存请求值或者最大上限。LimitRange限制维度:1.限制容器配置requests.cpu/memory,limits.cpu/memory的最小、最大值2.限制容器配置requests.cpu/memory,limits.cpu/memory的默认值3.限制PVC配置requests.storage的最小、最大值资源限制和请求的约束。

2023-01-16 16:09:14 8239

原创 网络策略控制集群内部通信-networkpolicy

默认情况下,Kubernetes集群网络没任何网络限制,Pod可以与任何其他pod通信,在某些场景下就需要进行网络控制,减少网络攻击面,提高安全性,这就会用到网络策略。需求:test命名空间下所有pod可以互相访问,也可以访问其他命名空间pod,但其他命名空间pod不能访问test命名空间pod。允许prod命名空间中的pod访问,及其他命名空间中的pod标签为app=client1的pod访问。需求:允许其他命名空间test命名空间指定pod,pod标签app=web。测试外部pod访问(拒绝访问)

2023-01-13 14:35:42 8771 1

原创 K8S Runtime CRI OCI contained dockershim 理解

在/k8s时代,经常听到CRI, OCI,contained和各种shim等名词,看完本篇博文,您会有个彻底的理解。

2023-01-01 17:20:44 8889

原创 CIS安全基准介绍与K8s安全基准工具

互联网安全中心(CIS,Center for Internet Security),是一个非盈利组织,致力为互联网提供 免费的安全防御解决方案。官网:https://www.cisecurity.org/Kubernetes CIS基准:https://www.cisecurity.org/benchmark/kubernetes使用指南,里面提供了如linux等安全加固方案。

2022-12-22 21:15:14 11853

原创 curl 访问k8s https 证书和token 几种方式

root@localhost work]# curl --header "Authorization: Bearer $TOKEN" --insecure --request POST https://172.16.10.87:6443/api/v1/namespaces/test/pods -s -w "状态码是:%{http_code}\n" -o /dev/null -H 'Content-Type: application/yaml' --data 'apiVersion: v1。

2022-10-17 15:38:13 10242

原创 二进制文件方式安装k8s 1.21

最近深入研究k8s,打算用二进制安装包,逐个组件安装配置,环境起来之后,也方便后续了解源码时调试,以下是记录。本机起3个centos 7.6 x64 4c8g虚拟机,分配如下master192.168.122.31 k8s1 etcd1node192.168.122.30 k8s2 etcd2192.168.122.209 k8s3 etcd3安装版本1.21,下载地址在官网:https://dl.k8s.io/v1.21.1/kubernetes-server-linux-amd64.ta

2022-03-31 10:39:56 28804 1

原创 Kubernetes--ingress实现七层负载

Deployment启动一组容器,并通过svc暴露一个ip,实现负载均衡,而ngin则只需在配置文件中将暴露出的clusterIP写在配置文件的代理区域,同时将自己的service改为nodeport(或loadBalancer)。1)ingrss-nginx国内无法下载(quay.io),需要翻墙,此处采用老师提供的,国内有小网站代理,但不稳定,建议买个国外服务器。1.非紧急事件(死了一个pod):会被放在更新队列中,此更新队列写满后被主程拿到另一个队列再更新(可有可无的事件),二级缓冲机制。

2024-03-11 10:02:30 1504

原创 Kubeadm方式搭建K8s集群 1.27.0版本

在kubernetes中Service有两种代理模型,一种是基于iptables的,一种是基于ipvs,两者对比ipvs的性能要高,如果想要使用ipvs模型,需要手动载入ipvs模块。3、配置kubectl的配置文件config,相当于对kubectl进行授权,这样kubectl命令可以使用这个证书对k8s集群进行管理。2、在两台node节点执行,注意添加--cri-socket=指定cri-docker.sock。1、配置国内源,一键安装kubeadm kubelet kubectl。

2023-06-20 21:07:52 2165

原创 kubernetes--kubernetes审计日志(api访问日志)

在Kubernetes集群中,API Server的审计日志记录了哪些用户、哪些服务请求操作集群资源,并且可以编写不通规则,控制忽略、存储的操作日志。审计日志采用JSON输出,每条日志报包含丰富的元数据,例如请求的URL、HTTP的方法、客户端来源登,你可以使用监控服务来分析API流量,以检测趋势或可能存在的安全隐患。管理节点(controller-manager scheduler)工作节点(kubelt、kube-proxy)集群服务(CoreDNS、Calico、HPA等)

2023-03-25 23:13:45 1988 1

原创 kubernetes--监控容器运行时:Falco

监控容器创建的不可信任进程规则,在falco_rules.local.yaml文件添加:以nginx为例#运行新镜像,必须是容器,并且容器镜像开头是nginx 并设置白名单desc: testcondition表达式解读:• spawned_process 运行新进程• container 容器• container.image startswith nginx 以nginx开头的容器镜像• not proc.name in (nginx) 不属于nginx的进程名称(允许进程名称列表)

2023-03-08 15:38:17 3262

原创 kubernetes--分析容器系统调用:Sysdig

Sysdig是一个非常强大的系统监控分析和故障排查工具。汇聚strace+tcpdump+iftop+lsof工具功能为一身。sysdig除了能获取系统资源利用率、进程、网络连接、系统调等信息,还具备了很强的分析能力,例如:1.按照CPU使用率对进程排序2.按照数据包对进程排序3.打开最多文件描述符进程4.查看进程打开了哪些文件5.查看进程HTTP请求报文6.查看机器上容器列表及资源使用情况项目地址:https://github.com/draios/sysdig。

2023-03-06 21:25:31 3236 1

原创 kubernetes--镜像漏扫工具Trivy

是一种用于容器镜像、文件系统,Git仓库的漏洞扫描工具。发现目标软件存在的漏洞。Trivy易于使用,只需安装二进制文件即可进行扫描,方便集成CI系统。漏洞很多,并不需要都修复,主要修复相关漏洞,比如应用程序用到了nginx,那就修复nginx对应库的漏洞。项目地址:https://github.com/aquasecurity/trivy。漏洞数据库默认存放位置,漏洞数据库又更新时会重新下载。

2023-03-06 21:18:19 2678

原创 kubernetes--安全沙箱运行容器gVisor

所知,容器的应用程序可以直接访问Linux内核的系统调用,容器在安全隔离上还是比较弱,虽然内核在不断的增强自身的安全特性,但由于内核自身代码极端复杂,CVE漏洞层出不穷。所以要想减少这方面安全风险,就是做好安全隔离,阻断容器内程序对物理机内核的依赖。Google开源的一种gVisor容器沙箱技术就是采用这种思路,gVisor隔离容器和内核之间访问,提供了大部分内核的系统调用,巧妙的将容器内进程的系统调用转为给gViosr的访问。gVisor兼容OCI,与Docker和K8s无缝集成,很方便使用。

2023-03-02 10:18:00 3746

原创 kubernetes--OPA Gatekeeper策略引擎

将在1.21版本弃用PSP,在1..25版本删除仅支持pod策略使用复杂,权限模型存在缺陷,控制不明确。

2023-02-17 09:46:41 3919

原创 kubernetes--pod安全策略(podSecurityPolicy)

Kubernetes中pod部署时重要的安全校验手段,能够有效地约束应用运行时行为安全。使用PSP对象定义一组pod在运行时必须遵循的条件及相关字段的默认值,只有Pod满足这些条件才会被K8s接受。PodSecurityPolicy 在 Kubernetes v1.21 中被弃用, 在 Kubernetes v1.25 中被移除。

2023-02-16 23:42:39 4254

原创 git配置自动补全

1、上述是git命令补全功能。不要和linux命令补全功能混淆。linux命令补全安装方法:apt-get install bash-completion。配置该功能时,只要下载git-bash-completion.git文件,无需下载所有的git源码。执行.bashrc文件,在同一个窗口执行git命令,命令后续部分使用tab键补全。2、可以使用git config命令配置git命令别名,减少命令输入。配置下git命令的自动补全功能。

2023-02-16 23:23:08 5427

原创 kubernetes--安全上下文(Security Context)

背景:容器中的应用程序默认以root账号运行的,这个root与宿主机root账号是相同的, 拥有大部分对Linux内核的系统调用权限,这样是不安全的,所以我们应该将容器以普 通用户运行,减少应用程序对权限的使用。启用特权模式就意味着,你要为容器提供了访问linux内核的所有能力,这是很危险的,为了减少系统调用的供给,可以使用Capabilities为容器赋予仅所需的能力。Linux Capabilities:是一个内核级别的权限,它允许对内核调用权限进行更细粒度的控制,而不是简单的以root身份能力授权。

2023-02-15 18:25:15 10351

原创 用dos2unix批量转换文件

dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在windows上编写的文件或者是脚本在Linux上就会遇到类似于下面的错误:出现上述的错误真实因为结束符的不同,要解决上述问题,只需要转换一下就行了。

2023-02-08 16:06:11 8861

原创 kubernetes---Seccomp限制容器进程系统调用

Seccomp 代表安全计算(Secure Computing)模式,自 2.6.12 版本以来,一直是 Linux 内核的一个特性。它可以用来沙箱化进程的权限,限制进程从用户态到内核态的调用。Kubernetes 能使你自动将加载到节点上的 seccomp 配置文件应用到你的 Pod 和容器。识别你的工作负载所需要的权限是很困难的。

2023-01-16 16:24:16 9575

原创 kubernetes--AppArmor限制容器对资源访问

AppArmor(ApplicationArmor)是一个Linux内核安全模块,可用于限制主机操作系统上运行的进程的功能。每个进程都可以拥有自己的安全配置文件。安全配置文件用来允许或禁止特点功能,例如网络访问、文件读/写/执行权限等linux发行版内置:Ubuntu、Debian 在cents中是selinux,相比于linux更易于使用。

2023-01-16 16:16:35 8559

原创 kubernetes--最小特权原则(POLP)

是一种信息安全概念,即为用户提供执行其工作职责所需最小权限等级或许可。最小特权原则被广泛认为是网络安全的最佳实践,也是保护高价值数据和资产特权访问的基本方式。

2023-01-16 16:11:11 2962

原创 kubernetes--资源配额ResourceQuota(针对名称空间)

当多个用户或团队共享具有固定节点数目的集群时,人们会担心有人使用超过其基于公平原则所分配到的资源量。资源配额是帮助管理员解决这一问题的工具。资源配额,通过对象来定义,对每个命名空间的资源消耗总量提供限制。它可以限制命名空间中某种类型的对象的总数目上限,也可以限制命名空间中的 Pod 可以使用的计算资源的总上限。资源配额的工作方式如下:不同的团队可以在不同的命名空间下工作。这可以通过 RBAC强制执行。集群管理员可以为每个命名空间创建一个或多个 ResourceQuota 对象。

2023-01-16 15:39:43 8272

原创 kubernetes--Ingress配置证书

HTTPS是安全的HTTP,HTTP协议的内容都是明文传输,HTTPS的目的是将这些内容加密,确保信息传输安全,最后一个字母S值得是SSL/TLS协议,它位于HTTP协议与TCP/IP协议的中间。Ingress Controller:根据Ingress生成具体的路由规则,并对Pod负载均衡器。Ingress:K8s中的一个抽象资源,给管理员提供一个暴露应用的入口定义方法。1.加密隐私数据,防止您访客的隐私信息(账号,地址,手机号等)被劫持或窃取。4.地址栏安全锁:地址栏头部的“锁”型图标,提高用户信任度。

2023-01-16 15:33:11 8720

原创 kubernetes--RBAC权限管理

calico/coredns/dashboard >>都需要访问apiserver简称SA,是一种用于让程序访问K8sAPI的服务账号1.当创建namespace时,会自动创建一个名为default的SA,这个SA没有绑定任何权限2.当default SA创建时,会自动创建一个default-token-xxx的secret,并自动关联到SA。

2023-01-15 08:00:00 8973

原创 kubeadm安装

kubelet-check] The HTTP call equal to ‘curl -sSL http://localhost:10248/healthz’ failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.背景:搭建k8s高可用集群,由于自己瞎操作,在初始化master(master-1)时操作失败,于是又换了一个master(maste。

2022-12-22 21:23:20 11383

原创 shell基础--循环语句

目录1、for循环1.带列表循环2.类C的for循环例:打印时间例:批量解压缩例:从1加到100例2:批量添加指定数量的用户例3:批量删除用户二、while循环1.格式12.格式2:三、until循环例:还是写从1加到100的例子,注意和while循环的区别:四、函数五、特殊流程控制语句1.exit语句2.break语句3.continue语句4.Shift参数左移指令:5.trap命令:1、for循环for循环

2022-04-02 10:05:06 26411 1

原创 shell基础--条件判断if和case

一、条件判断1.按照文件类型进行判断 测试选项 作用 -b 文件 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真) 块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。例如U盘,SD卡 -c 文件 判断该文件是否存在,并且是否为字符设备文件(是字符设备文

2022-04-02 09:50:55 25319

原创 shell基础-字符处理命令

一、排序命令很多情况下都需要对无序的数据进行排序,这时就要用到sort排序了。 sort命令:sort [选项] 文件名 子选项:-f 忽略大小写 -n 以数值型进行排序,默认使用字符串排序 -r 反向排序 二、uniq 取消重复行的命令uniq命令是用来取消重复行的命令,其实和sort -u选项是一样的。 uniq 命令:命令格式:uniq [选项] 文件名 -i:忽略大小写。会忽略后输入的相同的字符串。 -c:取消重复行并且统计重复出现的次...

2022-04-02 09:46:27 24874

原创 shell基础--正则表达式行列提取

目录一、概述:什么是正则表达式二、基础正侧表达式1..(点)2.*:3.^符号4.和上边^相对$5.\{n,m\}符号:6.\{n,m\} :7.[]符号8.\符号9.\<符号和\>符号:三、扩展正则表达1.()括号模式单元的使用:四、字符截命令和替换命令1.cut列提取命令:2.文本处理工具awk3.printf格式化输出:4.awk基本使用awk的保留字:关系运算符:正则表达式:awk内置变量aw..

2022-04-01 14:27:51 28655

原创 shell基础--shell的运算符

目录一、数值运算的方法1.declare命令 实现声明变量的类型。例:数值运算例:数组变量类型例:查询变量属性和取消变量属性二、shell常用运算符:变量的测试与内容置换:三、环境变量配置source 命令功能:2.环境变量配置文件/etc/profile/etc/profile.d/*.sh~/.bash_profile~/.bashrc/etc/bashrc3.其他配置文件1)/etc/issue2)/etc/issue.net

2022-04-01 14:08:57 27061

原创 shell--bash变量

命令:1.env 查看环境变量2.set 显示系统中已经存在的shell变量,以及设置变量的新变量值-u 如果设定此选项,调用未声明的变量时会有提示 (-u开启,+u关闭)-x 如果设定此选项,在命令执行之前,会吧命令先输出一次(-x 开启 +x关闭)unset 变量名:关闭变量用某个特定字符串代表不固定的内容就是变量。 (变量使用的是内存使用空间)在shell中定义变量的格式为: name=[value] 如果value没有指定,变量将被赋值为空字符串。...

2022-04-01 11:02:34 26631

原创 shell基础--简介及基础操作命令

一、shell简介conputer resources:计算机资源 kernel:内核 shell:命令解释器 programs:程序 utilities:实用工具 tools:工具 一个完整的计算机包括硬件与软件。软件又分系统软件与应用软件。负责对硬件进行管理与操作的是系统软件的内核(kernel)部分,用户是无法和内核打交道的,用户只能通过应用程序或部分系统软件发出指令,这些指令会被翻译并传给内核。在Linux内核的系统下,可以通过shell和内核进...

2022-03-18 10:11:41 31558

原创 Linux系统管理--Centos7服务管理

目录一、systemd优势1.并行处理所有服务,加速开机流程。2.命令相对简单。3.服务依赖性检测。二、systemd的配置文件位置:三、systemctl管理服务:格式:选项:例:四、查看系统上所有服务:list-units:list-unit-files:五、切换操作环境:1.图形化界面。2.命令行模式。3.救援模式。4.紧急处理系统的错误5.关机。六、使用systemctl管理源码包nginx:从centos7开始,s

2022-03-07 10:11:36 30815

原创 Linux系统管理--Centos6服务管理

一、服务简介与分类1.服务的分类2.查询已经安装的服务和区分服务chkconfig --list命令:chkconfig --list [服务名] 子选项:--list:列出所有RPM包默认安装服务的自启动状态。 级别:0 (关机) 1(单用户模式) 2(网络维护模式) 3 (字符界面) 4 (保留) 5 (图形化界面) 6(重启)二、RPM包默认安装的服务器管理1.独立服务器管理1)独立服务的启动管理使用/etc/init.d...

2022-03-07 10:08:20 29688

原创 Linux系统管理---linux计划任务和日志的管理

一、计划任务-at-cron-计划任务使用方法计划任务的作用:是做一些周期性的任务,在生产中的主要用来定期备份数据 CROND:这个守护进程是为了周期性执行任务或处理等待事件而存在 计划任务的安排方式分两种: 一种是定时性的,也就是例行。就是每隔一定的周期就要重复来做这个事情 一种是突发性的,就是这次做完了这个事,就没有下一次了,临时决定,只执行一次的任务 at 和 crontab 这两个命令: at:它是一个可以处理仅执行一次就结束的指令 crontab:它是会把你指定的工

2022-03-07 09:55:56 30422

原创 Linux系统管理----centos7系统进程管理

目录一、进程概念1.进程组成部分:2.僵尸进程:3.线程:4.上下文切换:5.中断处理:6.进程的属性二、ps查看进程工具1.-aux弹出消息及详解2、linux进程有5种基本状态三、free 查看内存使用情况1.弹出消息及详解:三、uptime 查看系统负载1.弹出消息含意如下:四、top 命令 动态性能分析工具1.每行信息2.top 快捷键:五、lsof 命令 用于查看你进程调用、打开的文件六、kill 关闭进程1)ki

2022-03-06 19:36:59 34890

原创 Linux系统管理---数据备份

目录1、数据备份简介1.Linux服务器中哪些数据需要备份1)Linux系统重要数据2)安装服务的数据配置文件:网页主目录:日志文件:二、备份策略(方式)1.完全备份2.增量备份3.差异备份三、备份工具dd1.命令格式:2.列题例1:只备份文件例2:备份分区为一个文件:例3:备份分区到另一个新分区例4:整盘备份:3.dd缺点四、XFS文件系统备份XFSdump使用注意事项:选项:1、备份整个分区。2、 指定备

2022-03-03 11:01:28 34248

原创 Linux系统管理---centos7的quota

一、centos7和6的区别1.Ctos6(ext文件系统)仅能针对分区做磁盘配额限制。Ctos(xfs文件系统)可对目录和用户或者组和用户设置磁盘配额2.对目录设置配额,对所有用户生效包括root3.CtOS 7 超过软限制不警告4.不用开启quota挂载成功自动开启5.C7需要使用xfs_quota -x -c 进行非交互式设置。6.在挂载之后如果没有指定quota...

2022-02-23 01:27:43 26166

原创 Linux系统管理---centos6的Quota

目录一、磁盘配额1、为什么要有Quota磁盘配额2、Quota能做什么3、Quota磁盘开启配额的条件4、磁盘配额的基本概念:1.软限制(soft):2.硬限制(hard):3.宽限天数二、磁盘配额实验演示:1、磁盘配额操步骤总结2、添加新的硬盘或分区,进行格式化挂载:3、创建用户和组4、临时开启磁盘配额5、永久开启磁盘配额6、生成quota配置文件:7、设置用户和组的磁盘配额限制:8、给用户zhangsan设置:10.启动和关闭磁

2022-02-17 10:31:15 31612

原创 Linux系统管理---LVM分区管理

一、什么是LVMLVM是Linux下对磁盘分区进行管理的一种工具,适合管理大存储设备,并允许用户动态调整文件系统的大小。在使用LVM逻辑卷之前我们要先了解逻辑卷管理中的一些概念:如图,五块硬盘组成LVM的底层结构。这五块硬盘的大小和型号可以不同。物理卷(physical volume,PV) :是LVM最底层的概念,是LVM的逻辑的存储块,物理卷于磁盘分区是逻辑对应的关系。多个物理卷可以合并或拆分,从而实现容量的扩容或者缩减。LVM提供了 命令工具可以把分区转化为...

2022-02-17 00:03:29 32552

空空如也

空空如也

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

TA关注的人

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