docker
文章平均质量分 90
fenglllle
这个作者很懒,什么都没留下…
展开
-
API-Server的监听器Controller的List分页失效
最近做项目,还是K8S的插件监听器(理论上插件都是通过API-server通信),官方的不同写法居然都能出现争议,争议点就是对API-Server的请求的耗时,说是会影响API-Server。实际上通过源码分析两着有差别,但是差别不大,对API-Server的影响几乎一样。知其然知其所以然,要想知道为什么分页不生效,需要自定义API-Server debug才行,看代码很难看出原因,因为K8S实际上估计设计的时候也考虑过这个。原创 2023-03-18 22:08:55 · 569 阅读 · 0 评论 -
client-go监听apiserver,监听http2逻辑分析
最近做项目,需要写一个controller(k8s的插件),需要从k8s的apiserver取数据,就用了自带的client-go,但是client-go是怎么从apiserver获取数据的一直没有研究过,只是看网上,看官方文档说是chunk读取数据,然而事实上,笔者却发现使用http2.0的长轮询。强烈建议使用linux或者mac开发机。原创 2023-01-31 18:45:49 · 1227 阅读 · 0 评论 -
容器下进程退出产生僵尸进程的过程与原因
最近容器部署标准化,本来很简单,也没什么特殊的要求,但是在容器里,因为临时需要启动进程,结果停止后出现了僵尸进程。在容器下进程id为1的进程是不能kill掉的,当容器下需要创建进程,运行时启动,那么创建进程的过程非常重要,因为销毁需要逆过程,否则会出现僵尸进程。容器下当新创建的进程(id为1的进程除外)的父进程被kill或者自然退出,当前进程的父进程id会被设为1,即容器下不能被kill的进程,导致僵尸进程的产生。原创 2022-10-29 22:31:06 · 1175 阅读 · 0 评论 -
docker 网络
随着容器的普及,经常使用docker创建容器来跑应用,结合开源的kubernetes和istio等,对于无状态的服务有极好的支持能力,秒级调度,弹性伸缩等优势。实际上kube的容器仅仅是接口,实际的容器可以是docker,podman等,以docker为例。实际上kube就是容器的管理器,核心思想是调度,调度就需要网络、流量治理能力(kube目前薄弱环节),就出现了各种网络方案,istio等。容器的核心网络在kube是pause容器创建的,其他容器通过container沿用网络方案,即一个POD。原创 2022-10-24 22:59:24 · 925 阅读 · 0 评论 -
容器环境注入Spring属性不一致却能生效
最近使用容器部署应用,Spring应用,会注入一些环境变量,然而这些环境变量的大小写和真实的取值差异很大,而且也不是xxx.xxx,而是xxx_xxx,非常奇怪,代码里也没发现原因。通过分析Spring源码发现,原理就是Spring的特殊处理,以及Spring的设计。原创 2022-09-19 22:03:38 · 265 阅读 · 0 评论 -
macOS istio bookinfo示例搭建
上一章安装了k8s,安装dashboard,实际上容器的应用才刚刚开始,容器由于灵活度,网络和管理难度大大增加,加上架构和业务分离(sidecar)的微服务架构。一般而言,分布式的粒度越细,管理越难,网络复杂度也大大增加,所以k8s就是专门管理容器的,但是流量负载却需要另外实现,比如istio。实际上这些都是demo性质的,关键还是管理和网络,比如sidecar可以自动注入和手动注入,可以使用ebpf实现网络加速,还可以集成其他sidecar模式,(istio默认使用envoy,即proxyv2)。...原创 2022-07-28 22:39:14 · 482 阅读 · 2 评论 -
macOS kubernetes 安装,并安装dashboard
随着云原生的普及,传统的fat微服务方式已经不符合日常的运营需求了,比如业务写点业务代码,还需要配合架构升级测试验证,对业务本身是极大的影响。ServerLess应运而生,实际上就是把非业务能力剥离出来,独立运营。而现在大部分实现都依赖于容器,容器的管理主流技术是kubernetes即k8s。k8s的架构实际上不是很复杂,关键还是在于管理和网络,安装的坑大概率是这些docker镜像下载不了,实际上还有其他容器替代,比如podman,因为k8s支持的接口是固定的,理论上还可以支持其他容器。https。...原创 2022-07-24 21:51:13 · 1430 阅读 · 0 评论 -
docker(2) Dockerfile编写运行tomcat9
Dockerfile前言dockerfileDockerfile时区设置RUN指令前言上一章介绍了docker的背景,并执行了一个docker镜像,运行了容器,但是容器的镜像是如何实现的呢,简单介绍一下dockerfile。基于tomcat的war发布为例,其他jar部署同理,只是启动的方式差别。为了多使用dockerfile命令,使用ubuntu标准镜像为基镜像。dockerfile系统镜像以及容器运行的微系统基本上都是root,所以一般不存在权限问题。DockerfileFROM ubunt原创 2020-06-29 22:23:50 · 529 阅读 · 0 评论 -
docker (1) 入门介绍
docker入门前言1. docker engine1.1. docker1.2. 对比虚拟机1.3. docker 安装2. docker镜像2.1. 本地镜像列表2.2. 拉取镜像3. docker镜像执行总结前言最近BOSS让我实现容器化部署方案,特的简单的调研了一下,目前市面上主流的方案就是docker了。所以部署成熟方案就是docker了,毕竟阿里云,AWS等都在用,结合现有业务,实现全部容器化部署还是不太现实,也不需要,保证大部分业务实现即可,减轻运维的压力????。docker其实是云化原创 2020-06-14 21:03:39 · 234 阅读 · 0 评论