K8S 和 Docker 关系简单说明

VSole2021-12-03 22:46:37
这篇文章主要介绍了k8s和Docker关系简单说明,本文利用图文讲解的很透彻,有需要的同学可以研究下

本篇文章目的:让你更全面了解k8s概念,以及学到在工作中常用的操作。整体更偏向于原理和应用。在正式开始k8s之前,我们先看看k8s和Docker的关系,分别从虚拟化角度、部署方式角度叙述why use容器,话不多说,开干。

目前发现并没有将kubernetes和Docker技术产生背景和需求进行比较的文章,本文从最纯正的官方定义角度出发并展开,阐述二者产生背景及与传统技术对比。

简要介绍:

官方定义1:Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。

官方定义2:k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

与传统技术对比:

接下来我们看两张经典的图:

一、从虚拟化角度:

上图是Docker容器(可用k8s管理的玩意儿)与传统虚拟化方式的不同之处:传统的虚拟技术在将物理硬件虚拟成多套硬件后,需要在每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。而Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。每个集群有多个节点,每个节点可运行多个容器,我们的kuberbete就是管理这些应用程序所在的小运行环境(container)而生。

二、从部署角度

注意,大家别把这幅图与上面Docker的那张图混淆了,图1是从虚拟化角度,说明了为应用提供必要的运行环境所需要做的虚拟化操作(即:传统:虚拟出的虚拟机装操作系统、Docker:容器引擎管理下的容器)。

而图2是在这些具体运行环境上进行真实应用部署时的情况,传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中(就像图1上半部分那样),但这样太过繁重,故比虚拟机更轻便的Docker技术出现,现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。既然嫌弃虚拟机繁重,想用Docker,那好,你用吧,怎么用呢?手动一个一个创建?当然不,故kubernetes技术便出现了,以kubernetes为代表的容器集群管理系统,这时候就该上场表演了。

说白了,我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。希望我这篇文章中简单的描述能让你对两者有所理解和认识。

到此这篇关于k8s和Docker关系简单说明的文章就介绍到这了。

链接:https://www.jb51.net/article/206783.htm
kubernetesk8s
本作品采用《CC 协议》,转载必须注明作者和本文链接
K8s的主要目标是应对监管大规模容器的复杂性,其通过分布式节点集群管理微服务应用程序,支持扩展、回滚、零停机和自我修复。
在2021年春季关于Kubernetes安全状况的报告中,RedHat指出,94%的受访者在其 Kubernetes环境中遇到过安全事件。这主要是因为在快速采用的同时,K8s仍在不断发展。托管Kubernetes会将大部分负担交给托管供应商,并让组织能够专注于工作负载而不是基础设施。这将导致更少的配置错误,减少攻击面。
近日,云安全公司Aqua发现了一个大规模的加密货币挖矿活动,攻击者利用Kubernetes基于角色的访问控制来创建后门并运行挖矿恶意软件。该活动被研究者命名为RBAC Buster,专家指出,这些攻击正在野外攻击至少60个集群。攻击者还会检查受感染服务器上竞争矿工恶意软件的证据,并使用RBAC设置来实现持久驻留。专家们发现,自五个月前上传以来,该Docker镜像被拉取了14399次。
对于在共享基础设施上运行的容器化应用程序来说,安全是至关重要的。随着越来越多的组织将其容器工作负载转移到KubernetesK8s已经成为容器协调的首选平台。而随着这一趋势,威胁和新的攻击方式也越来越多,有必要加强所有的安全层。 在Kubernetes中,安全问题有两个方面:集群安全和应用安全。我们已经在另一篇文章中介绍了集群安全。在这篇文章中,我们将探讨如何确保Kubernetes部署和一般
零信任策略下K8s安全监控最佳实践
Kubebot介绍Kubebot是一款基于Google 云平台搭建,并且提供了Kubernetes后端的Slackbot安全测试工具。Google云端平台帐户。API服务器将请求以消息的形式转发至PubSub ToolTopic。消息发布至Tool Subscription。Subscription Worker在K8s集群上以Docker容器运行,处理来自Tool Subscription的消息,Worker的数量也可以根据需要进行调整。Tool Worker会将修改信息回传给Slack,并删除Tool Worker,因为它们已经完成了自己的任务。Kubebot集成的自动化工作流程列表随着更多工作流程的添加,此列表将不断更新wfuzz basic authentication bruteforcingSlack中的Slash命令样本/runtool nmap|-Pn -p 1-1000|google.com
从云的虚拟化管理平台和云网络构架的一般性知识入手,以 Clos 云网络架构和 Kubernetes管理平台为例,俯瞰了当前云计算环境的全貌和细节,宏观上总览了云网络架构和 Kubernetes 管理平台,微观上深入连接 fabrics 和容器的细节。
作为全球数字化转型的基础设施,云计算已经在全球范围得到大规模的应用。企业上云后的 IT 环境变成混合云、多云架构,其网络暴露面变大,安全管理难度随之加大,云安全成为各行各业最为关注的焦点之一。与全球相比,中国的云安全市场有共性也有明显的差异。
10月28日,美国国家安全局(NSA)和国土安全部网络安全和基础设施安全局(CISA)发布《5G云基础设施安全指南第一编:预防和检测横向移动》(Security Guidance for 5G Cloud Infrastructures: Prevent and Detect Lateral Movement),旨在提升5G云基础设施安全防护能力。
Clair可以与K8s集成以持续扫描容器镜像,分析容器映像并提供已知漏洞的报告。Checkov可以集成到CI/CD管道中,以防止部署不安全的设置。Kube-bench可用于验证K8s的安装、执行定期检查并确保符合最佳实践。它可以与K8s集成以提供流量管理、安全性和可观察性。
VSole
网络安全专家