logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Docker registry仓库历史镜像批量清理

前言Docker registry在以jenkins CI/CD流水线自动打包并push镜像的方式运行了一段时间之后,堆积的历史镜像数量极多,磁盘空间告急,为此,有必要定期做镜像的清理,并释放镜像占用的存储空间清除原理Docker registry提供有restful api进行镜像管理,参考官方文档:https://docs.docker.com/registry/spec/api/D...

k8s(五)、微服务框架istio流量策略控制

前言承接上节k8s(四)、微服务框架istio安装测试本节实验通过在k8s上部署istio,实现微服务的基础功能。其中会涉及到服务的限流,超时,熔断,降级,流量分隔,A/B测试等功能。注意本次实验环境已开启istio的自动注入功能。**本实验的服务问调用关系如下:**实验采用时下流行的前后端分离模式,每个svc分别对应两个不同语言版本实例的后端pod前端项目基于vue/react...

#微服务#istio
Kubernetes源码学习-APIServer-P1-基础结构信息

Kubernetes源码学习-APIServer-P1-基础结构信息前言APIServer的工作主要围绕着对各类资源对象的管控,因此,在开始阅读APIServer的源码之前,有必要笼统地列举一下它在运行中所用到的核心数据结构等基础性信息,当作是开胃菜篇吧。Group/Version/Kind/Resource在K8s的设计中,resource是其最基础、最重要的概念,也是最小的管理单位,所有的管理

Kubernetes源码学习-Kubelet-P1-启动流程

前言在大致分析过k8s的Scheduler、Controller、APIServer三个控制平面组件后,本篇开始进入数据交互平面的daemon组件kubelet部分,看看kubelet是如何在控制平面和数据平面中以承上启下的模式工作的。启动流程启动入口照旧,位于项目的cmd路径下,使用cobra做cmd封装:cmd/kubelet/kubelet.go:39func main() {rand.Se

《 Kubebuilder v2 使用指南 》-P2-环境准备

环境准备Requirementsgo version v1.13+.docker version 17.03+.kubectl version v1.11.3+.kustomize v3.1.0+除了上面的工具和环境以外,需要有一套可连接的kubernetes环境,要求配置好kubectl config,以便能直连进行调试。由于Feature gates的 --CustomResourceWebh

Kubernetes源码学习-Controller-P2-Controller与client-go

病毒肆虐,阴雨连绵,门房紧闭,亲友不问,冷冷清清,甚是无趣。坐下写写代码,总结下过去一年所学,整理两篇文章,倒也算是乐得自在。盼疫情早日控制,春回大地,愿同胞们身体安康,祝新年快乐!P2-Controller与client-go前言Controller作为k8s的资源控制组件,必定要实时地监控对比资源的目标状态和当前状态,这其中会与apiserver产生大量的交互。在k8s中,k8s各个组件...

Etcd 和 kubernetes master的灾备与恢复

Etcd和kubernetes master的灾备与恢复背景说明问题:假设某台带有etcd的k8s master节点完全故障,彻底无法恢复方案:新启动一台主机,配置为故障master主机相同的ip和主机名,并尝试原地恢复,顶替原故障master节点Etcd恢复参考官方文档:https://github.com/etcd-io/etcd/blob/master/Documentation...

Kubernetes源码-公共库-01-wait-定时(条件)轮询库

Kubernetes源码-公共库-01-wait-定时(条件)轮询库前言在前面的主要组件分析过程中,有数次提及到的wait库让我记忆犹新,这是一个被高频引用的库,各个主要组件如scheduler、controller、kubelet等都常常使用wait库中的function轮询间隔(或条件)触发执行动作。整个wait库只有一个代码文件,代码行数不过400余行,本篇就来完整地分析一下这个库。代码路径

#kubernetes#容器#云原生
《 Kubebuilder v2 使用指南 》-P7-本地调试和发布Controller

本地调试和发布Controller前言前面几篇已经完成了初步的代码编写,但随后还需要 调试测试 --> 正式发布 到K8s集群内。这个步骤是官方文档内简笔带过的,极易带来困扰,写代码很难一气呵成,总会有error需要调试,但不可能每次为了调试一两行代码或加个打印输出,重复进行打镜像、推镜像、重启pod这一系列繁杂的操作,本篇专门讲述如何使用本地开发环境连接K8s集群进行调试,以及测试完毕后正

《 Kubebuilder v2 使用指南 》-P3-认识Kubebuilder

认识Kubebuilder前言没有人会喜欢黑盒,在使用一个工具之前,我习惯于尽可能多地去了解它,不然用起来会觉得不踏实。Controller的工作流程已经很熟悉了,理解kubebuilder的源码应该也比较容易。因此,大概阅读了一下了kubebuilder的源码,本篇圈出其中几个重点,用以帮助理解和认识kubebuilder。概念名词下面几个概念名词非常的重要,文中会多次提及。Own Resour

    共 39 条
  • 1
  • 2
  • 3
  • 4
  • 请选择