![](https://img-blog.csdnimg.cn/6508812c7f6b462a9af2f021667dad9a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
kubernetes
文章平均质量分 78
docker、kubernetes那些事
爱琴孩
扫盲+科普+解惑,愿天下程序员每天少掉头发
展开
-
Spring Boot + k8s 最佳实践
K8s + Spring Boot实现零宕机发布:健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离(镜像复用)转载 2023-08-06 09:23:57 · 1371 阅读 · 0 评论 -
K8S | Service服务发现
在K8S集群中是通过Pod组件来部署应用服务,Deployment组件实现Pod编排管理,Service组件实现应用的访问;【Pod】自身的特点是临时的,使用过后直接抛弃的实体,这样在Pod创建和销毁的状态中,会导致IP地址发生变化,即无法使用固定的IP进行应用访问;【Deployment】控制器通过管理ReplicaSet间接实现Pod管理,比如发布方式,更新和回滚策略,维持Pod副本数量,对应用进行快速的编排,但是并没有涉及应用的访问;转载 2023-08-05 08:38:35 · 128 阅读 · 1 评论 -
Docker入门到实战(四)
前面用到的官方python镜像大小足足882MB,在这个基础上,再安装用到的第三方库,添加项目需要的图片等资源,大小很容易就超过1个G,这么大的镜像,网络传给客户非常的不方便,因此,减小镜像的体积是非常必要的工作。docker hub上有个一python:3.8-alpine镜像,大小只有44.5MB。之所以小,是因为alpine是一个采用了busybox架构的操作系统,一般用于嵌入式应用。我尝试使用这个镜像,发现安装一般的库还好,但如果想安装numpy等就会困难重重,甚至网上都找不到解决方案。转载 2023-07-23 12:29:07 · 114 阅读 · 0 评论 -
Docker入门到实战(三)
一般而言,当我们的程序开发完成后,会连同程序文件与运行环境一起制作成一个新的镜像。要制作镜像,需要编写Dockerfile。注意,Docker镜像中有一个层的概念,每执行一个RUN命令,就会创建一个层,层过多会导致镜像文件体积增大。尽量在RUN命令中使用&&连接多条shell命令,减少RUN命令的个数,可以有效减小镜像文件的体积。转载 2023-07-23 12:14:11 · 58 阅读 · 0 评论 -
Docker入门到实战(二)
docker官方的镜像库比较慢,在进行镜像操作之前,需要将镜像源设置为国内的站点。转载 2023-07-23 11:56:00 · 84 阅读 · 0 评论 -
Docker入门到实战(一)
Docker的运行,依赖linux的环境,官方提供了Docker Desktop for Windows,但是它需要安装Hyper-V,Hyper-V是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。k8s是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理,是一个开源的,用于管理云平台中多个主机上的容器化的应用,k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署、规划、更新、维护的一种机制。转载 2023-07-23 10:53:01 · 94 阅读 · 0 评论 -
记一次Pod处于Pending问题
最近在服务部署k8s节点,部署完成之后,服务器上的pod节点一直处于Pending状态。在Kubernetes中,当一个Pod处于Pending状态时,意味着该Pod无法调度到一个节点上运行。这将显示有关Pod的详细信息,包括任何可能导致Pending状态的错误消息。原创 2023-07-22 15:49:03 · 446 阅读 · 0 评论 -
K8S 核心原理分析
基于分布式的架构中,需要管理的服务是非常多的,无论是服务的数量还是体系划分;从服务的能力上看,可以进行分层管控,只是其中有相当一部分服务层,改动更新的频率很低,所以感知也不明显;就以自己当下参与研发的系统来说;通过K8S进行管理的服务近百个,这中间有部分服务采用集群模式,即便是这个规模的系统,也几乎不可能依赖纯人工运维的形式,自动化流程必不可少;转载 2023-07-13 22:37:26 · 86 阅读 · 0 评论 -
容器和pod那点事
容器将应用程序从底层的主机设施中解耦,这使得在不同的云或OS环境中部署更加容易;容器的本质就是一个视图隔离、可限制资源、独立文件系统的进程集合;以常见的Linux研发环境来分析,可以限制容器的资源分配,比如内存大小、CPU使用,隔离进程之间的通信,设置独立的文件系统等;Kubernetes集群中的每个节点都会运行容器,这些容器构成分配给该节点的Pod,单个Pod中的容器会在共同调度下,于同一位置运行在相同的节点上;从整体上可以把K8S理解为「操作系统」,镜像理解为「软件安装包」,容器理解为「应用进程」;转载 2023-07-09 19:27:21 · 114 阅读 · 0 评论 -
为啥不建议在Docker中跑MySQL?
容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述 MySQL 需要容器化,几乎没有什么业务场景进行验证自己的观点;反过来再看反对者,他们从性能、数据安全等多个因素进行阐述 MySQL不需要容器化,也举证了一些不适合的业务场景。下面,我们就聊一下 Docker 不适合跑 MySQL 的 N 个原因!不要将数据储存在容器中,这也是 Docker 官方容器使用技巧中的一条。容器随时可以停止、或者删除。转载 2023-07-09 17:47:18 · 127 阅读 · 0 评论 -
file not found in build context or excluded by .dockerignore:stat target/Test.jar file does not exit
最近在给一个古老的服务做Nacos升级,升级完成之后,在CI平台构建报错,报错信息如下。原创 2023-06-04 15:51:45 · 428 阅读 · 0 评论 -
ingress那点事
service暴露了的三种方式ClusterIP、NodePort与LoadBalance,这几种方式都是在service的维度提供的,service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制,对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。所幸k8s还提供了一种集群维度暴露服务的方式,也就是ingress。转载 2023-04-05 20:14:40 · 97 阅读 · 0 评论 -
Docker架构那点事
Driver是Docker架构中的驱动模块。通过Driver驱动,Docker可以实现对Docker容器执行环境的定制。即Graph负责镜像的存储,Driver负责容器的执行。1、Docker container(Docker容器)是Docker架构中服务交付的最终体现形式。networkdriver的用途是完成Docker容器网络环境的配置,其中包括。docker是一个C/S模式的架构,后端是一个松耦合架构,模块各司其职。Docker Daemon的架构图。Docker Server的架构图。转载 2022-10-22 22:03:46 · 290 阅读 · 0 评论 -
deployment、pod、service日常操作
如果只删除pod,deployment会自动重建,所以应该先删除deployment。下面演示的是删除所有deployment,可以指定只删除某个。原创 2022-08-30 21:25:29 · 323 阅读 · 0 评论