博客园 - xinkun
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=80254
2020-12-09T01:58:04Z
xinkun
https://www.cnblogs.com/xuxinkun/
feed.cnblogs.com
https://www.cnblogs.com/xuxinkun/p/14106931.html
漫话docker的衰落与kubernetes的兴起 - xinkun
伴随着kubernetes 1.20中对于docker的弃用,关于docker的灭亡与kubernetes的兴起的话题再度热了起来。讨论中关于docker灭亡的观点我不敢苟同。docker还远未到达灭亡的程度。相较而言,我觉得更恰当的说法应该是docker的衰落。本文我也就我个人的角度,聊聊我所经历的docker的衰落与kubernetes的兴起。
2020-12-09T01:38:00Z
2020-12-09T01:38:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】伴随着kubernetes 1.20中对于docker的弃用,关于docker的灭亡与kubernetes的兴起的话题再度热了起来。讨论中关于docker灭亡的观点我不敢苟同。docker还远未到达灭亡的程度。相较而言,我觉得更恰当的说法应该是docker的衰落。本文我也就我个人的角度,聊聊我所经历的docker的衰落与kubernetes的兴起。 <a href="https://www.cnblogs.com/xuxinkun/p/14106931.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/14049879.html
基于Kubernetes和OpenKruise的可变基础设施实践 - xinkun
云原生时代不可变基础设施逐渐成为了趋势。但是在实践过程中,不可变基础设施对于应用要求严格、适用场景受限,导致难以落地。
本文通过对kubernetes中的可变与不可变基础设施的思考,以及对更新升级变化的分析,介绍了OPPO云在动态修改和原地更新的定制设计思路。并结合Kubernetes和OpenKruise的定制代码,介绍了OPPO云在可变基础设施的实践。
2020-11-27T11:22:00Z
2020-11-27T11:22:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】云原生时代不可变基础设施逐渐成为了趋势。但是在实践过程中,不可变基础设施对于应用要求严格、适用场景受限,导致难以落地。
本文通过对kubernetes中的可变与不可变基础设施的思考,以及对更新升级变化的分析,介绍了OPPO云在动态修改和原地更新的定制设计思路。并结合Kubernetes和OpenKruise的定制代码,介绍了OPPO云在可变基础设施的实践。 <a href="https://www.cnblogs.com/xuxinkun/p/14049879.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/12950428.html
Kubernetes as Database: 使用kubesql查询kubernetes资源 - xinkun
写在前面 kubectl虽然查询单个的kubernetes资源或者列表都已经比较方便,但是进行更为多个资源的联合查询(比如pod和node),以及查询结果的二次处理方面却是kubectl无法胜任的。所以一直以来,我都有想法将kubernetes作为数据库进行查询。在去年,我开发了第二个版本的kube
2020-05-24T03:47:00Z
2020-05-24T03:47:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】写在前面 kubectl虽然查询单个的kubernetes资源或者列表都已经比较方便,但是进行更为多个资源的联合查询(比如pod和node),以及查询结果的二次处理方面却是kubectl无法胜任的。所以一直以来,我都有想法将kubernetes作为数据库进行查询。在去年,我开发了第二个版本的kube <a href="https://www.cnblogs.com/xuxinkun/p/12950428.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11923372.html
pod删除主要流程源码解析 - xinkun
通过源码分析详细介绍了pod删除时的kubelet一侧的主要处理流程
2019-11-24T09:53:00Z
2019-11-24T09:53:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】通过源码分析详细介绍了pod删除时的kubelet一侧的主要处理流程 <a href="https://www.cnblogs.com/xuxinkun/p/11923372.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11830527.html
如何进行kubernetes问题的排障 - xinkun
以一次k8s压测导致所有kubelet呆住,节点大面积notready的问题为例,介绍了在kubernetes出现问题时的一些排障思路和方法,以及自己对于生产和测试问题排障的一些原则。
2019-11-10T07:51:00Z
2019-11-10T07:51:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】以一次k8s压测导致所有kubelet呆住,节点大面积notready的问题为例,介绍了在kubernetes出现问题时的一些排障思路和方法,以及自己对于生产和测试问题排障的一些原则。 <a href="https://www.cnblogs.com/xuxinkun/p/11830527.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11785521.html
详解k8s中的liveness和readiness的原理和区别 - xinkun
liveness与readiness的探针工作方式源码解析 liveness和readiness作为k8s的探针,可以对应用进行健康探测。 二者支持的探测方式相同。主要的探测方式支持http探测,执行命令探测,以及tcp探测。 探测均是由kubelet执行。 执行命令探测 由kubelet,通过CR
2019-11-03T03:26:00Z
2019-11-03T03:26:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】liveness与readiness的探针工作方式源码解析 liveness和readiness作为k8s的探针,可以对应用进行健康探测。 二者支持的探测方式相同。主要的探测方式支持http探测,执行命令探测,以及tcp探测。 探测均是由kubelet执行。 执行命令探测 由kubelet,通过CR <a href="https://www.cnblogs.com/xuxinkun/p/11785521.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11052646.html
kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 - xinkun
ingress controller在物理机上的两种部署方式 ingress controller(ingress nginx)负责k8s中的7层负载均衡。其在物理机中有多种部署方式。本文中主要选择了nodePort和hostNetwork两种部署方式进行介绍。主要原因是这两种部署方式不需要借助于其
2019-06-19T09:22:00Z
2019-06-19T09:22:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】ingress controller在物理机上的两种部署方式 ingress controller(ingress nginx)负责k8s中的7层负载均衡。其在物理机中有多种部署方式。本文中主要选择了nodePort和hostNetwork两种部署方式进行介绍。主要原因是这两种部署方式不需要借助于其 <a href="https://www.cnblogs.com/xuxinkun/p/11052646.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11046551.html
使用kubeadm进行单master(single master)和高可用(HA)kubernetes集群部署 - xinkun
kubeadm部署k8s 使用kubeadm进行k8s的部署主要分为以下几个步骤: 环境预装: 主要安装docker、kubeadm等相关工具。 集群部署: 集群部署分为single master(单master,只有一个master节点)和高可用HA集群部署两种模式。主要部署k8s的相关组件。本文
2019-06-18T09:42:00Z
2019-06-18T09:42:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】kubeadm部署k8s 使用kubeadm进行k8s的部署主要分为以下几个步骤: 环境预装: 主要安装docker、kubeadm等相关工具。 集群部署: 集群部署分为single master(单master,只有一个master节点)和高可用HA集群部署两种模式。主要部署k8s的相关组件。本文 <a href="https://www.cnblogs.com/xuxinkun/p/11046551.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11025020.html
docker/kubernetes国内源/镜像源解决方式 - xinkun
最近在使用kubeadm时,被各种连接不上搞到崩溃。费了很多力气,基本都解决了。这里统一整理了国内的一些镜像源,apt源,kubeadm源等,以便查阅。 国内镜像源 Azure China提供了目前用过的质量最好的镜像源。无论是速度还是覆盖范围。而且都支持匿名拉取,也就是不需要登录。这点特别友好。
2019-06-14T10:54:00Z
2019-06-14T10:54:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】最近在使用kubeadm时,被各种连接不上搞到崩溃。费了很多力气,基本都解决了。这里统一整理了国内的一些镜像源,apt源,kubeadm源等,以便查阅。 国内镜像源 Azure China提供了目前用过的质量最好的镜像源。无论是速度还是覆盖范围。而且都支持匿名拉取,也就是不需要登录。这点特别友好。 <a href="https://www.cnblogs.com/xuxinkun/p/11025020.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/11003375.html
flannel vxlan工作基本原理及常见排障方法 - xinkun
写在前面 最近用kubeadm鼓捣了几个cluster集群测试用,网络用的flannel。因为这些机器都不是纯净的环境(以前部署过其他的k8s或者有一些特别的设置),所以部署起来遇到了很多问题。看了下相关的文章,梳理了flannel的vxlan的工作原理,成功对这几个环境进行了排障。本文主要是相关流
2019-06-11T09:38:00Z
2019-06-11T09:38:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】写在前面 最近用kubeadm鼓捣了几个cluster集群测试用,网络用的flannel。因为这些机器都不是纯净的环境(以前部署过其他的k8s或者有一些特别的设置),所以部署起来遇到了很多问题。看了下相关的文章,梳理了flannel的vxlan的工作原理,成功对这几个环境进行了排障。本文主要是相关流 <a href="https://www.cnblogs.com/xuxinkun/p/11003375.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10904296.html
土法搞docker系列之自制docker的graph driver vdisk - xinkun
写在最前 偶然整理,翻出来14年刚开始学docker的时候的好多资料。当时docker刚刚进入国内,还有很多的问题。当时我们的思考方式很简单,docker确实是个好的工具,虽然还不成熟。但是不能因为短时间内造桥不行,就不过河了。我们的方式很简单,先造个小船划过去。由于各种条件的局限,所以很多方法真的
2019-05-22T02:36:00Z
2019-05-22T02:36:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】写在最前 偶然整理,翻出来14年刚开始学docker的时候的好多资料。当时docker刚刚进入国内,还有很多的问题。当时我们的思考方式很简单,docker确实是个好的工具,虽然还不成熟。但是不能因为短时间内造桥不行,就不过河了。我们的方式很简单,先造个小船划过去。由于各种条件的局限,所以很多方法真的 <a href="https://www.cnblogs.com/xuxinkun/p/10904296.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10879590.html
当我们聊kubernetes operator时,我们在聊些什么 - xinkun
不聊什么 在开始聊operator前,先说说这篇文章里我们不聊什么。我们这里不聊operator的具体实现,不聊operator的由来历史,不聊operator的hello world。如果想了解这些,其实可以从别的很多文章中可以查找到。这里我们把一些常见的概念,如docker、controller
2019-05-17T04:42:00Z
2019-05-17T04:42:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】不聊什么 在开始聊operator前,先说说这篇文章里我们不聊什么。我们这里不聊operator的具体实现,不聊operator的由来历史,不聊operator的hello world。如果想了解这些,其实可以从别的很多文章中可以查找到。这里我们把一些常见的概念,如docker、controller <a href="https://www.cnblogs.com/xuxinkun/p/10879590.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10676094.html
kube-liveboard: kubernetes集群可视化工具 - xinkun
kube liveboard 随着kubernetes 集群的增大,对于集群数据选取恰当的形式进行展示有助于直观反映集群的状态,方便发现集群的短板,了解集群的瓶颈。因此,笔者做了kube liveboard这个项目用以实现以上目标,实现集群状态的可视化。 从apiserver中可以获取所有的资源信息
2019-04-09T04:04:00Z
2019-04-09T04:04:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】kube liveboard 随着kubernetes 集群的增大,对于集群数据选取恰当的形式进行展示有助于直观反映集群的状态,方便发现集群的短板,了解集群的瓶颈。因此,笔者做了kube liveboard这个项目用以实现以上目标,实现集群状态的可视化。 从apiserver中可以获取所有的资源信息 <a href="https://www.cnblogs.com/xuxinkun/p/10676094.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10643840.html
详解docker中容器devicemapper设备的挂载流程 - xinkun
解决docker容器的dm盘打满导致容器无法启动的问题,并梳理容器的dm盘挂载的整个流程。并详细解释了docker中mnt下挂载点不可见的问题。
2019-04-02T09:28:00Z
2019-04-02T09:28:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】解决docker容器的dm盘打满导致容器无法启动的问题,并梳理容器的dm盘挂载的整个流程。并详细解释了docker中mnt下挂载点不可见的问题。 <a href="https://www.cnblogs.com/xuxinkun/p/10643840.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10634820.html
换个角度聊聊FaaS - xinkun
Serverless/FaaS伴随着k8s的热度增加,也成为了热门话题。相关文章介绍了很多,这里笔者不一一赘述,而是从个人见解上聊聊关于FaaS的架构和意义。 FaaS可能的架构优化 从AppEngine到docker的演变启发 在笔者上学时,云计算刚刚火热,IaaS/PaaS/SaaS的基础概念已
2019-04-01T02:07:00Z
2019-04-01T02:07:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】Serverless/FaaS伴随着k8s的热度增加,也成为了热门话题。相关文章介绍了很多,这里笔者不一一赘述,而是从个人见解上聊聊关于FaaS的架构和意义。 FaaS可能的架构优化 从AppEngine到docker的演变启发 在笔者上学时,云计算刚刚火热,IaaS/PaaS/SaaS的基础概念已 <a href="https://www.cnblogs.com/xuxinkun/p/10634820.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10592632.html
kubernetes容器删除时快速释放ip的方案 - xinkun
问题的来由 在kubernetes集群的生产中,经常遇到这样的一个问题,就是在应用大规模更新时,大量容器删除而后大量容器创建,创建的容器需要很长时间才能就绪。这其中一个可能的原因,就是大量容器删除释放ip过于缓慢,导致新创建的容器无法及时获取ip,从而无法及时启动。 这种情况普遍存在于ip池较小或者
2019-03-25T03:16:00Z
2019-03-25T03:16:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】问题的来由 在kubernetes集群的生产中,经常遇到这样的一个问题,就是在应用大规模更新时,大量容器删除而后大量容器创建,创建的容器需要很长时间才能就绪。这其中一个可能的原因,就是大量容器删除释放ip过于缓慢,导致新创建的容器无法及时获取ip,从而无法及时启动。 这种情况普遍存在于ip池较小或者 <a href="https://www.cnblogs.com/xuxinkun/p/10592632.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10570074.html
使用littleTools简化docker/kubectl的命令 - xinkun
littleTools littleTools是我根据日常运维时编写的一个小工具,开源在了 "https://github.com/xuxinkun/littleTools" 上。 littleTools包含一组简短命令,主要用于简化某些命令的输入。目前littleTools有docker tool
2019-03-21T03:24:00Z
2019-03-21T03:24:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】littleTools littleTools是我根据日常运维时编写的一个小工具,开源在了 "https://github.com/xuxinkun/littleTools" 上。 littleTools包含一组简短命令,主要用于简化某些命令的输入。目前littleTools有docker tool <a href="https://www.cnblogs.com/xuxinkun/p/10570074.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10556900.html
使用ansible kubectl插件连接kubernetes pod以及实现原理 - xinkun
ansible kubectl connection plugin ansible是目前业界非常火热的自动化运维工具。ansible可以通过ssh连接到目标机器上,从而完成指定的命令或者操作。 在kubernetes集群中,因为并不是所有的服务都是那么容器化。有时候也会用到ansible进行一些批量
2019-03-19T04:25:00Z
2019-03-19T04:25:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】ansible kubectl connection plugin ansible是目前业界非常火热的自动化运维工具。ansible可以通过ssh连接到目标机器上,从而完成指定的命令或者操作。 在kubernetes集群中,因为并不是所有的服务都是那么容器化。有时候也会用到ansible进行一些批量 <a href="https://www.cnblogs.com/xuxinkun/p/10556900.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10531091.html
解析docker中的环境变量使用和常见问题解决 - xinkun
docker容器中的环境变量 docker可以为容器配置环境变量。配置的途径有两种: 1. 在制作镜像时,通过 命令为镜像增加环境变量。在容器启动时使用该环境变量。 2. 在容器启动时候,通过参数配置环境变量,如果与镜像中有重复的环境变量,会覆盖镜像的环境变量。 使用 即可查看容器中生效的环境变量。
2019-03-14T09:00:00Z
2019-03-14T09:00:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】docker容器中的环境变量 docker可以为容器配置环境变量。配置的途径有两种: 1. 在制作镜像时,通过 命令为镜像增加环境变量。在容器启动时使用该环境变量。 2. 在容器启动时候,通过参数配置环境变量,如果与镜像中有重复的环境变量,会覆盖镜像的环境变量。 使用 即可查看容器中生效的环境变量。 <a href="https://www.cnblogs.com/xuxinkun/p/10531091.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/xuxinkun/p/10517662.html
使用kubesql进行kubernetes资源查询 - xinkun
kubesql kubesql( "https://github.com/xuxinkun/kubesql" )是我最近开发的一个使用sql查询kubernetes资源的工具。诸如node,pod等kubernetes的资源被处理为table。而后可以使用sql语句对其进行查询。 例如,所有pod都
2019-03-12T08:34:00Z
2019-03-12T08:34:00Z
xinkun
https://www.cnblogs.com/xuxinkun/
【摘要】kubesql kubesql( "https://github.com/xuxinkun/kubesql" )是我最近开发的一个使用sql查询kubernetes资源的工具。诸如node,pod等kubernetes的资源被处理为table。而后可以使用sql语句对其进行查询。 例如,所有pod都 <a href="https://www.cnblogs.com/xuxinkun/p/10517662.html" target="_blank">阅读全文</a>