# 序言

## Kubernetes 学习笔记

> 本系列是 [Kubernetes 学习笔记](https://www.huweihuang.com/kubernetes-notes/)
>
> 更多的学习笔记请参考：
>
> * [Kubernetes 学习笔记](https://www.huweihuang.com/kubernetes-notes/)
> * [Kubernetes 源码分析笔记](https://www.huweihuang.com/k8s-source-code-analysis/)
> * [Docker 学习笔记](https://www.huweihuang.com/docker-notes/)
> * [Golang 学习笔记](https://www.huweihuang.com/golang-notes/)
> * [Linux 学习笔记](https://www.huweihuang.com/linux-notes/)
> * [数据结构学习笔记](https://www.huweihuang.com/data-structure-notes/)
>
> 个人博客：
>
> * [www.huweihuang.com](https://www.huweihuang.com/)
> * [blog.huweihuang.com](https://blog.huweihuang.com/)
> * [k8s.huweihuang.com](https://k8s.huweihuang.com/)

## 微信公众号

微信公众号：容器云架构

![](https://res.cloudinary.com/dqxtn0ick/image/upload/v1551600382/blog/wechat-public-acconut.jpg)

***

### 云原生体系

* [12-Factor](https://k8s.huweihuang.com/project/paas/12-factor)
* [K8S知识体系](https://k8s.huweihuang.com/project/paas/k8s)

### 安装与配置

* [部署k8s集群](https://k8s.huweihuang.com/project/setup/installer)
  * [使用kubeadm安装生产环境kubernetes](https://k8s.huweihuang.com/project/setup/installer/install-k8s-by-kubeadm)
  * [使用kubespray安装kubernetes](https://k8s.huweihuang.com/project/setup/installer/install-k8s-by-kubespray)
  * [使用minikube安装kubernetes](https://k8s.huweihuang.com/project/setup/installer/install-k8s-by-minikube)
  * [使用kind安装kubernetes](https://k8s.huweihuang.com/project/setup/installer/install-k8s-by-kind)
* [k8s证书及秘钥](https://k8s.huweihuang.com/project/setup/k8s-cert)
* [k8s版本说明](https://k8s.huweihuang.com/project/setup/k8s-version-release)

### 基本概念

* [kubernetes架构](https://k8s.huweihuang.com/project/concepts/architecture)
  * [Kubernetes总架构图](https://k8s.huweihuang.com/project/concepts/architecture/kubernetes-architecture)
  * [基于Docker及Kubernetes技术构建容器云（PaaS）平台概述](https://k8s.huweihuang.com/project/concepts/architecture/paas-based-on-docker-and-kubernetes)
* [kubernetes对象](https://k8s.huweihuang.com/project/concepts/object)
  * [理解kubernetes对象](https://k8s.huweihuang.com/project/concepts/object/understanding-kubernetes-objects)
  * [kubernetes常用对象说明](https://k8s.huweihuang.com/project/concepts/object/kubernetes-basic-concepts)
* [Pod](https://k8s.huweihuang.com/project/concepts/pod)
  * [Pod介绍](https://k8s.huweihuang.com/project/concepts/pod/pod)
  * [Pod定义文件](https://k8s.huweihuang.com/project/concepts/pod/pod-definition)
  * [Pod生命周期](https://k8s.huweihuang.com/project/concepts/pod/pod-lifecycle)
  * [Pod健康检查](https://k8s.huweihuang.com/project/concepts/pod/pod-probe)
  * [Pod存储卷](https://k8s.huweihuang.com/project/concepts/pod/pod-volume)
  * [Pod控制器](https://k8s.huweihuang.com/project/concepts/pod/pod-scheduler)
  * [Pod伸缩与升级](https://k8s.huweihuang.com/project/concepts/pod/pod-operation)
* [配置](https://k8s.huweihuang.com/project/concepts/configmap)
  * [ConfigMap](https://k8s.huweihuang.com/project/concepts/configmap/pod-configmap)
* [Workload](https://k8s.huweihuang.com/project/concepts/concepts)

### 核心原理

* [核心组件](https://k8s.huweihuang.com/project/principle/principle)
  * [Api Server](https://k8s.huweihuang.com/project/principle/principle/kubernetes-core-principle-api-server)
  * [Controller Manager](https://k8s.huweihuang.com/project/principle/principle/kubernetes-core-principle-controller-manager)
  * [Scheduler](https://k8s.huweihuang.com/project/principle/principle/kubernetes-core-principle-scheduler)
  * [Kubelet](https://k8s.huweihuang.com/project/principle/principle/kubernetes-core-principle-kubelet)
* [流程图](https://k8s.huweihuang.com/project/principle/flow)
  * [Pod创建流程](https://k8s.huweihuang.com/project/principle/flow/pod-flow)
  * [PVC创建流程](https://k8s.huweihuang.com/project/principle/flow/pvc-flow)

### 容器网络

* [Docker网络](https://k8s.huweihuang.com/project/network/docker-network)
* [K8S网络](https://k8s.huweihuang.com/project/network/kubernetes-network)
* [网络插件](https://k8s.huweihuang.com/project/network/flannel)
  * [Flannel介绍](https://k8s.huweihuang.com/project/network/flannel/flannel-introduction)
* [CNI](https://k8s.huweihuang.com/project/network/cni)
  * [CNI接口介绍](https://k8s.huweihuang.com/project/network/cni/cni)
  * [Macvlan介绍](https://k8s.huweihuang.com/project/network/cni/macvlan)

### 容器存储

* [存储卷概念](https://k8s.huweihuang.com/project/storage/volume)
  * [Volume](https://k8s.huweihuang.com/project/storage/volume/volume)
  * [Persistent Volume](https://k8s.huweihuang.com/project/storage/volume/persistent-volume)
  * [Persistent Volume Claim](https://k8s.huweihuang.com/project/storage/volume/persistent-volume-claim)
  * [Storage Class](https://k8s.huweihuang.com/project/storage/volume/storage-class)
  * [Dynamic Volume Provisioning](https://k8s.huweihuang.com/project/storage/volume/dynamic-provisioning)
* [CSI](https://k8s.huweihuang.com/project/storage/csi)
  * [csi-cephfs-plugin](https://k8s.huweihuang.com/project/storage/csi/csi-cephfs-plugin)
  * [部署csi-cephfs](https://k8s.huweihuang.com/project/storage/csi/deploy-csi-cephfs)
  * [部署cephfs-provisioner](https://k8s.huweihuang.com/project/storage/csi/cephfs-provisioner)
  * [FlexVolume介绍](https://k8s.huweihuang.com/project/storage/csi/flexvolume)

### 资源隔离

* [资源配额](https://k8s.huweihuang.com/project/resource/resource-quota)
* [Pod限额](https://k8s.huweihuang.com/project/resource/limit-range)
* [资源服务质量](https://k8s.huweihuang.com/project/resource/quality-of-service)
* [Lxcfs资源视图隔离](https://k8s.huweihuang.com/project/resource/lxcfs)

### 运维指南

* [kubectl工具](https://k8s.huweihuang.com/project/operation/kubectl)
  * [kubectl安装与配置](https://k8s.huweihuang.com/project/operation/kubectl/install-kubectl)
  * [kubectl命令说明](https://k8s.huweihuang.com/project/operation/kubectl/kubectl-commands)
  * [kubectl命令别名](https://k8s.huweihuang.com/project/operation/kubectl/kubectl-alias)
* [kubernetes集群问题排查](https://k8s.huweihuang.com/project/operation/kubernetes-troubleshooting)
* [节点调度](https://k8s.huweihuang.com/project/operation/node)
  * [安全迁移节点](https://k8s.huweihuang.com/project/operation/node/safely-drain-node)
  * [指定Node调度与隔离](https://k8s.huweihuang.com/project/operation/node/nodeselector-and-taint)
* [镜像仓库配置](https://k8s.huweihuang.com/project/operation/registry)
  * [配置私有的镜像仓库](https://k8s.huweihuang.com/project/operation/registry/config-private-registry)
  * [拉取私有镜像](https://k8s.huweihuang.com/project/operation/registry/imagepullsecrets)

### 开发指南

* [client-go的使用及源码分析](https://k8s.huweihuang.com/project/develop/client-go)
* [CSI插件开发](https://k8s.huweihuang.com/project/develop/develop)
  * [nfs-client-provisioner源码分析](https://k8s.huweihuang.com/project/develop/develop/nfs-client-provisioner)
  * [csi-provisioner源码分析](https://k8s.huweihuang.com/project/develop/develop/csi-provisioner)
* [operator开发](https://k8s.huweihuang.com/project/develop/operator)
  * [kubebuilder的使用](https://k8s.huweihuang.com/project/develop/operator/kubebuilder)

### 问题排查

* [节点相关问题](https://k8s.huweihuang.com/project/trouble-shooting/node)
  * [keycreate permission denied](https://k8s.huweihuang.com/project/trouble-shooting/node/keycreate-permission-denied)
  * [Cgroup不支持pid资源](https://k8s.huweihuang.com/project/trouble-shooting/node/cgroup-pid-error)
  * [Cgroup子系统无法挂载](https://k8s.huweihuang.com/project/trouble-shooting/node/cgroup-subsystem-not-mount)
* [Pod驱逐](https://k8s.huweihuang.com/project/trouble-shooting/pod-evicted)
* [镜像拉取失败问题](https://k8s.huweihuang.com/project/trouble-shooting/pod-image-error)
* [PVC Terminating](https://k8s.huweihuang.com/project/trouble-shooting/pvc-terminating)

***

### 源码分析

* [Kubernetes源码分析笔记](https://k8s.huweihuang.com/project/code-analysis/code-analysis-notes)
* [kubelet](https://k8s.huweihuang.com/project/code-analysis/kubelet)
  * [NewKubeletCommand](https://k8s.huweihuang.com/project/code-analysis/kubelet/newkubeletcommand)
  * [NewMainKubelet](https://k8s.huweihuang.com/project/code-analysis/kubelet/newmainkubelet)
  * [startKubelet](https://k8s.huweihuang.com/project/code-analysis/kubelet/startkubelet)
  * [syncLoopIteration](https://k8s.huweihuang.com/project/code-analysis/kubelet/syncloopiteration)
  * [syncPod](https://k8s.huweihuang.com/project/code-analysis/kubelet/syncpod)
* [kube-controller-manager](https://k8s.huweihuang.com/project/code-analysis/kube-controller-manager)
  * [NewControllerManagerCommand](https://k8s.huweihuang.com/project/code-analysis/kube-controller-manager/newcontrollermanagercommand)
  * [DeploymentController](https://k8s.huweihuang.com/project/code-analysis/kube-controller-manager/deployment-controller)
  * [Informer机制](https://k8s.huweihuang.com/project/code-analysis/kube-controller-manager/sharedindexinformer)
* [kube-scheduler](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler)
  * [NewSchedulerCommand](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/newschedulercommand)
  * [registerAlgorithmProvider](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/registeralgorithmprovider)
  * [scheduleOne](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/scheduleone)
  * [findNodesThatFit](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/findnodesthatfit)
  * [PrioritizeNodes](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/prioritizenodes)
  * [preempt](https://k8s.huweihuang.com/project/code-analysis/kube-scheduler/preempt)
* [kube-apiserver](https://k8s.huweihuang.com/project/code-analysis/kube-apiserver)
  * [NewAPIServerCommand](https://k8s.huweihuang.com/project/code-analysis/kube-apiserver/newapiservercommand)

***

### Runtime

* [Runtime](https://k8s.huweihuang.com/project/runtime/runtime)
  * [Runc和Containerd概述](https://k8s.huweihuang.com/project/runtime/runtime/runtime)
* [Containerd](https://k8s.huweihuang.com/project/runtime/containerd)
  * [安装Containerd](https://k8s.huweihuang.com/project/runtime/containerd/install-containerd)
* [Docker](https://k8s.huweihuang.com/project/runtime/docker)
  * [Docker学习笔记](https://k8s.huweihuang.com/project/runtime/docker/docker-notes)
* [Kata Container](https://k8s.huweihuang.com/project/runtime/kata)
  * [kata容器简介](https://k8s.huweihuang.com/project/runtime/kata/kata-container)
  * [kata配置](https://k8s.huweihuang.com/project/runtime/kata/kata-container-conf)
* [GPU](https://k8s.huweihuang.com/project/runtime/gpu)
  * [nvidia-device-plugin介绍](https://k8s.huweihuang.com/project/runtime/gpu/nvidia-device-plugin)

### Etcd

* [Etcd介绍](https://k8s.huweihuang.com/project/etcd/etcd-introduction)
* [Raft算法](https://k8s.huweihuang.com/project/etcd/raft)
* [Etcd启动配置参数](https://k8s.huweihuang.com/project/etcd/etcd-setup-flags)
* [Etcd访问控制](https://k8s.huweihuang.com/project/etcd/etcd-auth-and-security)
* [etcdctl命令工具](https://k8s.huweihuang.com/project/etcd/etcdctl)
  * [etcdctl命令工具-V3](https://k8s.huweihuang.com/project/etcd/etcdctl/etcdctl-v3)
  * [etcdctl命令工具-V2](https://k8s.huweihuang.com/project/etcd/etcdctl/etcdctl-v2)
* [Etcd中的k8s数据](https://k8s.huweihuang.com/project/etcd/k8s-etcd-data)
* [Etcd-Operator的使用](https://k8s.huweihuang.com/project/etcd/etcd-operator-usage)

### 多集群管理

* [k8s多集群管理的思考](https://k8s.huweihuang.com/project/multi-cluster/k8s-multi-cluster-thinking)
* [Virtual Kubelet](https://k8s.huweihuang.com/project/multi-cluster/virtual-kubelet)
  * [Virtual Kubelet介绍](https://k8s.huweihuang.com/project/multi-cluster/virtual-kubelet/virtual-kubelet)
  * [Virtual Kubelet 命令](https://k8s.huweihuang.com/project/multi-cluster/virtual-kubelet/virtual-kubelet-cmd)
* [Karmada](https://k8s.huweihuang.com/project/multi-cluster/karmada)
  * [Karmada介绍](https://k8s.huweihuang.com/project/multi-cluster/karmada/karmada-introduction)

### 边缘容器

* [KubeEdge介绍](https://k8s.huweihuang.com/project/kubeedge/kubeedge-arch)
* [KubeEdge源码分析](https://k8s.huweihuang.com/project/kubeedge/code-analysis)
  * [cloudcore](https://k8s.huweihuang.com/project/kubeedge/code-analysis/cloudcore)
  * [edgecore](https://k8s.huweihuang.com/project/kubeedge/code-analysis/edgecore)
* [OpenYurt部署](https://k8s.huweihuang.com/project/kubeedge/install-openyurt)

### 虚拟化

* [虚拟化相关概念](https://k8s.huweihuang.com/project/kvm/vm-concept)
* [KubeVirt](https://k8s.huweihuang.com/project/kvm/kubevirt)
  * [KubeVirt的介绍](https://k8s.huweihuang.com/project/kvm/kubevirt/kubevirt-introduction)
  * [KubeVirt的使用](https://k8s.huweihuang.com/project/kvm/kubevirt/kubevirt-installation)

### 监控体系

* [监控体系介绍](https://k8s.huweihuang.com/project/monitor/kubernetes-cluster-monitoring)
* [cAdvisor介绍](https://k8s.huweihuang.com/project/monitor/cadvisor-introduction)
* [Heapster介绍](https://k8s.huweihuang.com/project/monitor/heapster-introduction)
* [Influxdb介绍](https://k8s.huweihuang.com/project/monitor/influxdb-introduction)

***

## 赞赏

> 如果觉得文章有帮助的话，可以打赏一下，谢谢！

![](https://res.cloudinary.com/dqxtn0ick/image/upload/v1551599963/blog/donate.jpg)
