容器化&云原生
文章平均质量分 81
Docker、Serverless、 Knative、K8S容器化、Service Mesh等知识积累
ZWZhangYu
这个作者很懒,什么都没留下…
展开
-
如何根据镜像反向生成Dockerfile内容?这三种方式总有一个适合你
【1】日常开发中,我们可以根据记录找到历史的docker镜像并进行操作,这个docker帮我们保存了,但是并没有一个好的方式去查看和保存构建者的Dockerfile文件内容【2】知其然知其所以然;程序员都是有好奇心的,尤其对于docker这种新的技术,当我们去运行别人的镜像容器时,出于好奇心我想知道别人是如何构建,构建过程是什么,学习了解。【3】优化镜像;我们知道镜像是分层构建,如果我们想要优化一个镜像的大小和安全性,那么就需要去逐层解析和处理,这个就需要知道构建过程也就是Dockerfile是什么样...原创 2022-08-06 16:34:02 · 3291 阅读 · 0 评论 -
远程Debug运行在容器内的Java项目实践整理
为什么需要使用到远程Debug呢?就拿我个人使用来说,我是因为遇到一个无法在本地复现的问题,而且这个问题就只出现的容器运行时,这个问题我不清楚我在构建基础镜像的时候有哪些错误,我想要通过Debug进入到更底层的代码看具体有哪些问题,虽然最终我依然没有排查到问题所在,但是我觉得这个是一个可以参考的解决问题的方式。但是注意你不可以在生产环境使用哦,在容器化和K8S编排的情况下,我比较推荐的是你直接将该镜像拉取运行在到一个测试Linux服务器上调试问题。......原创 2022-08-06 10:52:01 · 1054 阅读 · 0 评论 -
如何编辑一个无法启动或处于停止状态的容器 容器的存储原理分析
通过docker inspect的方式定位物理存储位置,并修正。通过docker cp的。方式进行覆盖处理,完成问题修复。overlay2将镜像层和容器层都放在单独的目录,并且有唯一 ID,每一层仅存储发生变化的文件,最终使用联合挂载技术将容器层和镜像层的所有文件统一挂载到容器中,使得容器中看到完整的系统文件。原创 2022-05-21 17:36:43 · 855 阅读 · 1 评论 -
GoLang 使用validator包优雅的校验字段 去除冗余的条件判断
go-playground/validator包是验证器实现了结构体的值验证,基于结构体的tag进行字段属性校验。能够处理基本类型,复杂类型,嵌套字段类型,数组,map等等。是gin框架的默认验证器。目前的版本是V10。这种校验的方式对于熟悉Java的开发者有种似曾相识的感觉,和SpringMVC注解式的校验字段非常类似。go-playground/validator可以单独对结构体、特定的变量进行校验,也可以很方便的与一些框架集成,作为Web请求参数校验器,比如Gin框架。原创 2022-05-10 21:28:24 · 2150 阅读 · 0 评论 -
Protobuf Go GPRC Java跨语言调用 笔记整理
Protocol buffers是 Google 开发的,语言中立、平台中立、可扩展的结构化数据序列化机制,就像 XML,但是它更小、更快、更简单。你只需定义一次数据的结构化方式,然后就可以使用特殊生成的源代码轻松地将结构化数据写入和读取各种数据流,支持各种语言。Protobuf中最基本的数据单元是message,是类似Go语言中结构体的存在。在 message中可以嵌套message或其它的基础数据类型的成员。原创 2022-05-10 12:35:09 · 1248 阅读 · 1 评论 -
记一次K8S无感知不停机升级优化
文章目录背景Deployment滚动更新策略容器探针检查机制探测结果探测类型删除和新建Pod情况分析【1】新Pod启动时请求处理【2】删除pod时请求处理参考背景在部署项目版本升级过程中发现每次都会出现2分钟左右的502停机情况,在进行问题和排查过程中发现如下配置中存在一些可以优化的点,本文是这次操作过程的总结以及一些简单的扩展。分析下上面配置,使用是没有问题的,但是没有很好的利用K8s的一些特性机制来提升升级的效率,首先我们使用了Deployment声明式组件,该组件为 Pods 和 Replic原创 2022-03-21 22:23:49 · 4384 阅读 · 2 评论 -
Kubernetes Pod的生命周期
Pod 遵循一个预定义的生命周期,起始于 Pending 阶段,如果至少 其中有一个主要容器正常启动,则进入 Running,之后取决于 Pod 中是否有容器以 失败状态结束而进入 Succeeded 或者 Failed 阶段。在 Pod 运行期间,kubelet 能够重启容器以处理一些失效场景。 在 Pod 内部,Kubernetes 跟踪不同容器的状态 并确定使 Pod 重新变得健康所需要采取的动作。在 Kubernetes API 中,Pod 包含规约部分和实际状态部分。 Pod 对象的状态包含了原创 2022-03-03 20:27:43 · 1031 阅读 · 0 评论 -
通过阿里云镜像服务来拉取国外镜像
最近在学习Knative的时候遇到了很多镜像无法拉取的问题,导致很多组件无法正常启动。例如gcr.io域名下的镜像就无法拉取,这给工作学习带来了非常的不便,通过查阅资料发现可以通过阿里云镜像服务来拉取国外镜像。【1】准备一个无法正常拉取的外国外域名的镜像,比如下面这给,这个组件是Knative Serving中的activator组件gcr.io/knative-releases/knative.dev/serving/cmd/activator@sha256:f5e1cd14f26ec76fb84ef原创 2022-03-01 19:58:41 · 2720 阅读 · 1 评论 -
Serverless Knative Serving弹性扩缩容实践整理
Knative的服务管理组件Serving是管理应用服务的理想选择,它通过自动缩容为零和基于HTTP负载自动扩展的方式简化了部署流程。Knative平台可管理应用服务的部署、版本、网络、扩缩容。原创 2022-03-01 19:26:27 · 2122 阅读 · 0 评论 -
Kubernetes/docker实践问题整理
记录日常Kubernetes/docker实践过程中遇到的问题以及参考解决措施原创 2022-02-26 14:53:28 · 1400 阅读 · 0 评论 -
Serverless Devs入门体验
文章目录介绍安装配置实践体验参考介绍Serverless Devs 是一个开源开放的 Serverless 开发者平台,致力于为开发者提供强大的工具链体系。通过该平台,开发者不仅可以一键体验多云 Serverless 产品,极速部署 Serverless 项目,还可以在 Serverless 应用全生命周期进行项目的管理,并且非常简单快速的将 Serverless Devs 与其他工具/平台进行结合,进一步提升研发、运维效能。Serverless Devs是一款多云的开发者工具,可以非常简单、快速、方原创 2022-02-23 17:31:51 · 1585 阅读 · 0 评论 -
Chroot隔离文件
chroot是起源于Unix系统的一个操作,作用于正在运行的进程和它的子进程,改变它外显的根目录。一个运行在这个环境下,经由chroot设定根目录的程式,它不能够对这个指定根目录之外的档案进行存取动作,不能读取,也不能更改它的内容原创 2021-07-18 10:05:35 · 2289 阅读 · 0 评论 -
Docker 容器
(一)Docker 启动和关闭容器运行容器docker run --name container-name -d image-nameeg:docker run –name myredis –d redis–name:自定义容器名-d:后台运行image-name:指定镜像模板docker ps 显示正在运行的容器docker container ls 显示正在运行的容器...原创 2020-03-13 20:57:36 · 1224 阅读 · 0 评论 -
Docker 镜像
(一)下载实例(二)镜像基本操作备注:相同名称的镜像可以存在多个,即需要不同的tags版本(三)使用 Dockerfile 定制镜像(1)介绍镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Docker...原创 2020-03-13 20:54:13 · 16619 阅读 · 3 评论 -
Docker安装和加速器配置
(一)Docker安装Docker CE 社区版 免费Docker EE 企业版 收费查看centos版本;Docker 要求 CentOS 系统的内核版本高于 3.10uname -r 如果内核版本较低,需要使用下面步骤来升级yum软件包[选]通过 yum 来安装 Docker, 建议找个时间充裕点来执行,耗时较长yum -y update安装 Dockeryum ...原创 2020-03-13 20:48:57 · 1903 阅读 · 0 评论 -
Docker介绍
(一)什么是DockerDocker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。Do...原创 2020-03-13 20:45:11 · 1236 阅读 · 0 评论