
kubenetes
文章平均质量分 85
弓长丿
这个作者很懒,什么都没留下…
展开
-
追加docker已运行容器添加或修改端口映射方法
docker run可以指定端口映射但是容器一旦生成,就没有一个命令可以直接修改。通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射。【】 docker commit A imageA #将容器commit提交成为一个镜像【】 docker rm A #删除原镜像【】 docker run -d -p 80:80 --name A imageA #启动新镜像但这样太麻烦了。原创 2024-11-27 16:35:02 · 1484 阅读 · 0 评论 -
Kubernetes--ingress实现七层负载
Deployment启动一组容器,并通过svc暴露一个ip,实现负载均衡,而ngin则只需在配置文件中将暴露出的clusterIP写在配置文件的代理区域,同时将自己的service改为nodeport(或loadBalancer)。1)ingrss-nginx国内无法下载(quay.io),需要翻墙,此处采用老师提供的,国内有小网站代理,但不稳定,建议买个国外服务器。1.非紧急事件(死了一个pod):会被放在更新队列中,此更新队列写满后被主程拿到另一个队列再更新(可有可无的事件),二级缓冲机制。原创 2024-03-11 10:02:30 · 1892 阅读 · 0 评论 -
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 · 2424 阅读 · 0 评论 -
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 · 2626 阅读 · 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 · 3674 阅读 · 0 评论 -
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 · 3462 阅读 · 1 评论 -
kubernetes--镜像漏扫工具Trivy
是一种用于容器镜像、文件系统,Git仓库的漏洞扫描工具。发现目标软件存在的漏洞。Trivy易于使用,只需安装二进制文件即可进行扫描,方便集成CI系统。漏洞很多,并不需要都修复,主要修复相关漏洞,比如应用程序用到了nginx,那就修复nginx对应库的漏洞。项目地址:https://github.com/aquasecurity/trivy。漏洞数据库默认存放位置,漏洞数据库又更新时会重新下载。原创 2023-03-06 21:18:19 · 2791 阅读 · 0 评论 -
kubernetes--安全沙箱运行容器gVisor
所知,容器的应用程序可以直接访问Linux内核的系统调用,容器在安全隔离上还是比较弱,虽然内核在不断的增强自身的安全特性,但由于内核自身代码极端复杂,CVE漏洞层出不穷。所以要想减少这方面安全风险,就是做好安全隔离,阻断容器内程序对物理机内核的依赖。Google开源的一种gVisor容器沙箱技术就是采用这种思路,gVisor隔离容器和内核之间访问,提供了大部分内核的系统调用,巧妙的将容器内进程的系统调用转为给gViosr的访问。gVisor兼容OCI,与Docker和K8s无缝集成,很方便使用。原创 2023-03-02 10:18:00 · 4091 阅读 · 0 评论 -
kubernetes--OPA Gatekeeper策略引擎
将在1.21版本弃用PSP,在1..25版本删除仅支持pod策略使用复杂,权限模型存在缺陷,控制不明确。原创 2023-02-17 09:46:41 · 4094 阅读 · 0 评论 -
kubernetes--pod安全策略(podSecurityPolicy)
Kubernetes中pod部署时重要的安全校验手段,能够有效地约束应用运行时行为安全。使用PSP对象定义一组pod在运行时必须遵循的条件及相关字段的默认值,只有Pod满足这些条件才会被K8s接受。PodSecurityPolicy 在 Kubernetes v1.21 中被弃用, 在 Kubernetes v1.25 中被移除。原创 2023-02-16 23:42:39 · 4463 阅读 · 0 评论 -
kubernetes--安全上下文(Security Context)
背景:容器中的应用程序默认以root账号运行的,这个root与宿主机root账号是相同的, 拥有大部分对Linux内核的系统调用权限,这样是不安全的,所以我们应该将容器以普 通用户运行,减少应用程序对权限的使用。启用特权模式就意味着,你要为容器提供了访问linux内核的所有能力,这是很危险的,为了减少系统调用的供给,可以使用Capabilities为容器赋予仅所需的能力。Linux Capabilities:是一个内核级别的权限,它允许对内核调用权限进行更细粒度的控制,而不是简单的以root身份能力授权。原创 2023-02-15 18:25:15 · 11395 阅读 · 0 评论 -
kubernetes---Seccomp限制容器进程系统调用
Seccomp 代表安全计算(Secure Computing)模式,自 2.6.12 版本以来,一直是 Linux 内核的一个特性。它可以用来沙箱化进程的权限,限制进程从用户态到内核态的调用。Kubernetes 能使你自动将加载到节点上的 seccomp 配置文件应用到你的 Pod 和容器。识别你的工作负载所需要的权限是很困难的。原创 2023-01-16 16:24:16 · 9885 阅读 · 0 评论 -
kubernetes--AppArmor限制容器对资源访问
AppArmor(ApplicationArmor)是一个Linux内核安全模块,可用于限制主机操作系统上运行的进程的功能。每个进程都可以拥有自己的安全配置文件。安全配置文件用来允许或禁止特点功能,例如网络访问、文件读/写/执行权限等linux发行版内置:Ubuntu、Debian 在cents中是selinux,相比于linux更易于使用。原创 2023-01-16 16:16:35 · 8861 阅读 · 0 评论 -
kubernetes--最小特权原则(POLP)
是一种信息安全概念,即为用户提供执行其工作职责所需最小权限等级或许可。最小特权原则被广泛认为是网络安全的最佳实践,也是保护高价值数据和资产特权访问的基本方式。原创 2023-01-16 16:11:11 · 3118 阅读 · 0 评论 -
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 · 8346 阅读 · 0 评论 -
kubernetes--资源配额ResourceQuota(针对名称空间)
当多个用户或团队共享具有固定节点数目的集群时,人们会担心有人使用超过其基于公平原则所分配到的资源量。资源配额是帮助管理员解决这一问题的工具。资源配额,通过对象来定义,对每个命名空间的资源消耗总量提供限制。它可以限制命名空间中某种类型的对象的总数目上限,也可以限制命名空间中的 Pod 可以使用的计算资源的总上限。资源配额的工作方式如下:不同的团队可以在不同的命名空间下工作。这可以通过 RBAC强制执行。集群管理员可以为每个命名空间创建一个或多个 ResourceQuota 对象。原创 2023-01-16 15:39:43 · 8401 阅读 · 0 评论 -
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 · 8907 阅读 · 0 评论 -
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 · 9372 阅读 · 0 评论 -
网络策略控制集群内部通信-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 · 8911 阅读 · 1 评论 -
K8S Runtime CRI OCI contained dockershim 理解
在/k8s时代,经常听到CRI, OCI,contained和各种shim等名词,看完本篇博文,您会有个彻底的理解。原创 2023-01-01 17:20:44 · 9073 阅读 · 0 评论 -
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 · 11492 阅读 · 0 评论 -
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 · 12401 阅读 · 0 评论