ljchen's Notes

Quick Notes


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Kubelet运行时介绍

发表于 2018-11-11 | 分类于 kubernetes |
阅读时长 ≈ 8 mins.

kubernetes的核心竞争力是对各种workload的抽象和编排,在与计算、存储和网络对接中,分别对应衍生了其对接的事实标准CRI、CNI和CSI。今天我们来重点分析kubelet运行时,另外二者在接下来的文章中再做详细的介绍。

kubelet有以下的启动参数用来指定运行时:

–container-runtime string
The container runtime to use. Possible values: ‘docker’, ‘remote’, ‘rkt(deprecated)’. (default “docker”)
–container-runtime-endpoint string
[Experimental] The endpoint of remote runtime service. Currently unix socket is supported on Linux, and tcp is supported on windows.

阅读全文 »

CKA考试知识总结-3

发表于 2018-11-07 | 分类于 kubernetes |
阅读时长 ≈ 23 mins.

之所以要将这篇很长很长的博文拆分开,是因为站内查询因这篇长文而失效了,另外打开一个页面实在有些卡顿(⊙﹏⊙)b

Come on baby! 操起键盘就是干,继续~

阅读全文 »

CKA考试知识总结-2

发表于 2018-11-07 | 分类于 kubernetes |
阅读时长 ≈ 16 mins.

之所以要将这篇很长很长的博文拆分开,是因为站内查询因这篇长文而失效了,另外打开一个页面实在有些卡顿(⊙﹏⊙)b

Come on baby! 操起键盘就是干,继续~

阅读全文 »

CKA考试知识总结-1

发表于 2018-11-07 | 分类于 kubernetes |
阅读时长 ≈ 20 mins.

这是一篇很长很长的文章,是去年CKA考试刚开始推出来的时候,我参与考试复习做过的一些知识点。基于做过的题,大概列出了具体的知识点,当时考试的时候还在使用v1.7版本,现在应该都要到v1.12了。

补充:这周收到CNCF的邮件,说是之前认证两年到期的CKA证书又延长了一年了(感叹:这是为了诱惑大家都来考证吗^_^)。

阅读全文 »

K8s存储概述

发表于 2018-11-05 | 分类于 kubernetes |
阅读时长 ≈ 3 mins.

一直想写一篇关于kubernetes存储的文章,但是细想来又包含了太多方面,索性今天就先聊聊k8s存储的梗概。

概念

从用法上来讲,k8s支持通过两种方式使用存储;这两种方式,各自有各自的优势,都不可或缺。

  • volume
    暂且就叫它“卷挂载”吧!有人把这种方式叫做“静态卷”。通过指定volume的类型,可以支持绝大多数的存储;这种方式的优点就是即挂即用,方便快捷。当然,弊端就是如果每次使用存储都需要去配置存储参数,比较繁琐。
阅读全文 »

Kubelet资源eviction机制

发表于 2018-10-30 | 分类于 kubernetes |
阅读时长 ≈ 3 mins.

在上一篇文章中,我们提到container GC在后续kuberntes版本会放入eviction manager中来处理。今天我们就来简单的分析一下kubelet eviction的实现机制。

阅读全文 »

Kubelet配置源和垃圾回收流程

发表于 2018-10-28 | 分类于 kubernetes |
阅读时长 ≈ 3 mins.

在上一篇文章中,概括的划分了kubelet的核心模块,这一篇文章重点来分析一下其中Config和GC在源码中是如何实现的。

Config

这部分其实就是kubelet的业务入口,此处所谓的config不是指kubelet的配置参数,而是指业务(也就是pod)配置的意思。形象的说,当你在/etc/kubernetes/manifests下放上pod的yaml文件时,kubelet就通过config模块来扫描到pod配置文件的内容,然后在kubelet中创建出对应的static pod。同理,当你通过kubectl创建的pod被scheduler调度到该节点时,config模块就会感知到Api-Server上的配置的变动,然后对应的将pod创建出来。

阅读全文 »

Kubelet源码架构简介

发表于 2018-10-28 | 分类于 kubernetes |
阅读时长 ≈ 1 mins.

最近将kubelet的代码整体过了一遍,其实也没有想象中复杂。代码涉及到的细枝末节较多,如果先前对kubernetes的产品功能不够了解的话,可能直接上源码分析会云里雾里。我的建议是“先把握框架和主干,然后再逐步深入到各个细节”,做架构要有分层的思想,读代码也如此。写这篇文章一方面是为了记录下当下转瞬即逝的一些思路,另一方面如果后续有人在网上爬到,也希望它能对你有一点点帮助!

言归正传,下面先总体上谈谈kubelet代码的框架,然后分别介绍kubelet的各主要模块。

概况

下面是大图(确实很大!看细节请自行放大),简要汇总了kubelet从初始化到Run成功后,整个都处于运行中的goRoutines。就是靠这些goRoutine的紧密协作,保障了pod整个生命周期中,完全按照我们的要求来运行。

阅读全文 »

基于阿里云镜像站安装Kubernetes

发表于 2018-10-23 | 分类于 kubernetes |
阅读时长 ≈ 5 mins.

kubernetes官网的文档比较详细,但是所有的安装步骤都有个前提(你有足够自由的互联络),之前在香港和亚马逊的服务器都是直接照着手册执行脚本一路顺畅。无奈天朝的网络只能够借助于阿里云镜像站了,先前只是在使用该站点的各种linux发行版安装包,最近发现还支持了kubernetes。具体可以访问阿里巴巴开源镜像站。

阅读全文 »

MySQL总结

发表于 2018-09-22 | 分类于 distributed-system |
阅读时长 ≈ 13 mins.

本文主要涉及MySQL核心组件、查询过程、索引等原理,另外还涉及一些不常用但较重要的命令。除此之外,一些运维的理论和命令也有提及。

组成原理

主要介绍MySQL的核心组件,以及查询执行过程。

阅读全文 »
1…456…8
ljchen

ljchen

73 日志
9 分类
87 标签
RSS
GitHub Email Twitter Facebook
© 2017 — 2021 ljchen | 528k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v6.0.0
网站统计
0%