
容器化 内容分享
文章平均质量分 91
容器化技术是一种虚拟化形式,它允许开发人员在独立的容器中打包应用程序和其所有依赖项,从而实现了跨不同环境的可移植性和一致性。容器是轻量级、可快速启动和停止的,因此非常适合云原生应用开发和微服务架构
之乎者也·
机车疾驰在路上,代码飞舞在指尖,热血与逻辑交织,创造属于我的数字世界。
展开
-
云原生内容分享(十五):云原生k8s集群安全隔离建设方案详解
网络策略(Network Policies):在Kubernetes等容器编排系统中,可以定义网络策略来控制不同Pod间的网络通信。通过标签选择器来决定哪些Pod可以互相通信。命名空间(Namespaces):Kubernetes中的命名空间提供了逻辑上的隔离,不同的服务可以在各自的命名空间中运行,从而实现一定程度的网络和资源隔离。服务网格(Service Mesh):例如Istio等服务网格组件提供细粒度的流量管理和安全策略实施。原创 2024-02-09 12:21:04 · 1878 阅读 · 0 评论 -
JAVA面试题分享四百八十一:虚拟化与容器化:哪个更适合你?
虚拟化是一种系统环境隔离技术,它允许在一台机器上运行多个隔离环境,用于防止依赖项之间的变量冲突,并实现更简洁、更有效的开发过程。虚拟化可以追溯到20世纪60年代,尽管如此,但直到21世纪初在业务需求的推动下才被广泛使用。当人们谈论虚拟化时,他们谈论的是虚拟机。虚拟机是在物理服务器上运行的模拟计算机。你可以在一台服务器上运行许多其他模拟计算机,每个计算机运行不同的操作系统。虚拟机可以让你最大化利用服务器的效用,节省在机器成本上的开支。原创 2024-02-06 13:09:39 · 926 阅读 · 0 评论 -
JAVA面试题分享四百一十七:大规模并发下如何加快 Pod 启动速度
在普通的场景下,Pod 的拉取镜像时间基本上呈指数递增的趋势,但在 Dragonfly 的场景下,它有效地控制了增长趋势,用户能在一分钟内完成一个 3G 镜像的拉取,即使并发拉取的规模达到了 500 量级,这个时间也几乎是恒定的。:在某些场景下,除了期望能在系统镜像中预置容器镜像外,还期望能安装自己的软件包、安装特定的 GPU 驱动,此时我们可以使用这种方式,自己在 ECS 中执行操作,最后执行特定的脚本执行镜像的打包检查、导出自定义镜像。自定义镜像是您自行创建或上传的镜像,是您的私有镜像。原创 2024-02-02 13:53:14 · 951 阅读 · 0 评论 -
容器内容分享(二):容器化后无损上下线解决方案
问题解决方案无损下线消费者无法及时感知生产者已下线主动通知+自适应等待(Nacos + shutdownhook + preStop)无损上线注册太早延迟注册无损上线初始化慢小流量服务预热无损上线发布态与运行态未对⻬k8s 就绪检查 和 注册中心状态对齐。原创 2024-01-24 13:04:35 · 1040 阅读 · 0 评论 -
容器内容分享(一):什么是容器技术?
本文从多角度给大家介绍了容器技术,还特地着重介绍了两个比较热门的容器技术:Docker和Kubernetes,我相信只要你认真的看完本文,一定有所收获!原创 2024-01-24 12:11:13 · 1266 阅读 · 0 评论 -
架构设计内容分享(一百三十五):K8s技术全景:架构、应用与优化
Pod是Kubernetes中最小的部署单元,通常包含一个或多个容器。原创 2024-01-22 14:11:29 · 1066 阅读 · 0 评论 -
K8s(Kubernetes)内容分享(三):10个常见的 Kubernetes 陷阱和挑战
例如,今天使用 helm:latest 将提供 Helm v3,但在v4版本发布后,重启就会更新到v4,但是我们可能还认为系统运行的是 v3 版本,从而引发不可预知的风险。例如即使有未充分利用的较小节点,也会强制创建不必要的新的较大节点,从而增加集群的成本。但是不幸的是,很多团队它们的自动扩容是不可预测的。比如一个服务的两个副本,应该调度在两个Node上,这样如果一个 Node 节点发生故障时,可以保证服务的另一个副本可用,如果规则设置不正确都调度到一个Node 上那么会导致服务不可用。原创 2024-01-22 08:47:56 · 959 阅读 · 0 评论 -
JAVA面试题分享三百一十:kubernetes的service流量流转深度分析
Kubernetes 集群中的每个 节点会运行一个 kube-proxy (除非你已经部署了自己的替换组件来替代kube-proxykube-proxy组件负责除type为以外的服务,实现虚拟 IP 机制。一个时不时出现的问题是,为什么 Kubernetes 依赖代理将入站流量转发到后端。其他方案呢?例如,是否可以配置具有多个 A 值(或 IPv6 的 AAAA)的 DNS 记录, 使用轮询域名解析?DNS 的实现不遵守记录的 TTL 约定的历史由来已久,在记录过期后可能仍有结果缓存。原创 2023-12-19 10:23:26 · 965 阅读 · 0 评论 -
JAVA面试题分享二百五十:Kubernetes Informer 源码解析与深度使用 : cache 包源码解析与 Informer 的使用
以上,我们自底向上,从 ListerWatcher, Reflector, Controller, Informer, SharedInformer, IndexerInformer 一路分析到了 SharedIndexInformer 的实现与使用方式。New。原创 2023-12-15 09:02:36 · 1038 阅读 · 0 评论 -
JAVA面试题分享二百四十九:Kubernetes(k8s)权限管理RBAC详解
先复习下 K8s 里的 RBAC 机制。(这时候需要用到 GPT 了。我:Hello ChatGPT,用中文总结下 K8s 里的 RBAC 是个啥。ChatGPT在 Kubernetes 中,RBAC 是一种强大的访问控制机制,用于管理对集群资源的访问权限。RBAC 可以帮助管理员精确地控制用户、ServiceAccount 或其他实体对 Kubernetes API 中资源的操作权限。RBAC 基于角色的授权模型使得管理员可以定义角色和角色绑定,从而实现对不同用户或实体的访问权限控制。原创 2023-12-15 08:46:06 · 967 阅读 · 0 评论 -
JAVA面试题分享二百四十八:使用Velero对Kubernetes集群进行完整备份和还原
Velero(以前称为 Heptio Ark)是一个开源工具,可以安全地备份和还原,执行灾难恢复以及迁移 Kubernetes 集群资源和持久卷。Velero可以部署Kubenetes集群中,可用于如下场景:• 备份集群资源并在丢失的情况下进行还原• 将集群资源迁移到其他集群• 将生产集群资源复制到开发和测试集群。原创 2023-12-15 08:27:55 · 1127 阅读 · 0 评论 -
JAVA面试题分享二百四十七:Kubernetes之kubelet驱逐策略详解
请求(request的值)最多紧缺资源的 Pod 会被驱逐,如果没有 Pod 超出他们的请求(比如说mem request的值为1G,但实际使用量并没有超过1G),会驱逐资源消耗量最大的 Pod。当资源不够或发生争夺有pod被驱逐后,pod的状态会变为Eviction,如果资源一直无法协调过来,或者资源真的不够用了,那么会产生大量的Eviction状态的Pod,会影响整个集群的使用。此值设定了Eviction pod最大的产生个数,默认为12500,最小改为1,若为0,则表示没有限制。原创 2023-12-15 08:16:15 · 1112 阅读 · 0 评论 -
JAVA面试题分享二百四十六:k8s持久化存储(NFS-StorageClass)
StatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计),其应用场景包括:稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Cluster IP的Service)来实现。原创 2023-12-15 07:58:31 · 950 阅读 · 0 评论 -
JAVA面试题分享一百二十三:有没有了解 docker 等云技术?
近年来,我们已经看到,需要计算能力来解决日益复杂的挑战,云计算在市场中越来越重要。Docker 目前在云计算市场的领先地位日益稳固,许多互联网公司都会选择使用 Docker 工具,但 Docker 作为一个方便创建和管理容器的工具,和云计算之间的联系是什么呢,它运行时,能否确保环境安全与部署安全性呢?本文从云计算初学者的角度,主要论述了以下问题:云计算是什么,与 Docker 之间的关系,并且解释论述 Docker 的部署安全性与环境安全。1、物理机物理机是相对于虚拟机而言的对实体计算机的称呼。原创 2023-12-01 08:25:45 · 895 阅读 · 0 评论 -
Docker内容分享(三):Docker 高级教程
Docker Compose 是 Docker 的一个子项目,可以帮助用户定义和运行多容器 Docker 应用程序。例如要实现一个Web微服务项目,除了Web服务容器本身,往往还需要再加上后端的数据库mysql服务容器,redis服务器,注册中心eureka,甚至还包括负载均衡容器等等。有关更详细的信息,请参阅 Docker Compose 的官方文档。Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。原创 2023-12-10 22:04:47 · 1127 阅读 · 0 评论 -
Docker内容分享(二):Docker 从入门到精通
上面的示例中,我们定义了一个名为"web"的服务,它使用"nginx:latest"镜像,并将本地的80端口映射到容器的80端口。为了实现跨主机通信,Docker提供了不同的网络驱动程序(network driver),如bridge、overlay、macvlan等方式,使用这些方法可以创建网络,并将容器加入这些网络中,使得这些容器可以实现跨主机通信。另外,Docker还支持容器的启动、停止、扩展等操作,并提供了方便的命令行工具和API接口,使得容器的创建、部署、管理变得非常简单易用。原创 2023-12-10 22:00:24 · 1246 阅读 · 0 评论 -
Docker内容分享(一):Docker 安装
Docker 在国内的官方源速度较慢,为了提高下载和使用速度,需要更换国内镜像源。总之,在使用 Docker 时要注意软件版本兼容性和容器配置的正确性,避免出现各种兼容性问题和安全问题。总之,在使用 Docker 过程中,遇到问题时应认真排查错误原因,在确认问题后采取相应的解决方案。可能的原因:未安装 Docker、未添加 Docker 用户等。可能的原因:镜像未正确构建、镜像版本不兼容、容器端口映射错误等。可能的原因:Dockerfile 文件错误、网络问题等。命令启动容器,并将应用程序运行在其中。原创 2023-12-10 21:54:04 · 1037 阅读 · 0 评论 -
K8s(Kubernetes)内容分享(一):K8s(Kubernetes) 介绍
容器运行时是 Kubernetes 中用于运行容器的底层组件,它负责将容器镜像转换为可以运行的进程,并提供容器的隔离、资源管理和网络管理等功能。同时,Kubernetes 还提供了一系列的资源管理机制,如资源调度、容器网络、存储编排等,控制整个容器集群的运行状态,并保证应用程序在容器集群中的高可用性和可靠性。Scheduler 是 Kubernetes 集群中的另一个重要组件,主要负责根据集群中各个节点的负载情况,以及用户的调度策略,将新创建的 Pod 分配到合适的节点上。原创 2023-12-10 22:10:28 · 1249 阅读 · 0 评论 -
K8s(Kubernetes)内容分享(二):K8s(Kubernetes) 自动扩缩容
自动缩放是在没有人工干预的情况下增加或减少应用程序工作负载容量的过程。如果调整正确,自动缩放可以降低维护应用程序的成本和工程工作量。自动缩放的整个过程很简单。它首先确定一组指标,这些指标可以为 Kubernetes 何时应该扩展应用程序容量提供指标。接下来,一组规则确定应用程序是否应该按比例放大或缩小。最后,使用 Kubernetes API,可扩展或收缩应用程序可用的资源,以适应应用程序必须执行的工作。自动缩放是一个复杂的过程,它比其他应用程序更好地服务于某些类别的应用程序。原创 2023-12-10 22:13:32 · 2034 阅读 · 0 评论