> 文章列表 > K8S架构-6.5.3 Calico安装与部署

K8S架构-6.5.3 Calico安装与部署

K8S架构-6.5.3 Calico安装与部署

 

《云原生进阶之容器》专题索引:

  1. 第一章Docker核心技术1.1节——Docker综述
  2. 第一章Docker核心技术1.2节——Linux容器LXC
  3. 第一章Docker核心技术1.3节——命名空间Namespace
  4. 第一章Docker核心技术1.4节——chroot技术
  5. 第一章Docker核心技术1.5.1节——cgroup综述
  6. 第一章Docker核心技术1.5.2节——cgroups原理剖析
  7. 第一章Docker核心技术1.5.3节——cgroups数据结构剖析
  8. 第一章Docker核心技术1.5.4节——cgroups使用
  9. 第一章Docker核心技术1.6节——UnionFS
  10. 第一章Docker核心技术1.7节——Docker镜像技术剖析
  11. 第一章Docker核心技术1.8节——DockerFile解析
  12. 第一章Docker核心技术1.9节——docker-compose容器编排
  13. 第一章Docker核心技术1.10节——Docker网络模型设计
  14. 第二章——Kubernetes概述
  15. 第二章Controller Manager原理剖析--2.1节Controller Manager综述
  16. 第二章Controller Manager原理2.2节--client-go剖析
  17. 第二章Controller Manager原理2.3节--Reflector分析
  18. 第二章Controller Manager原理2.4节--Informer机制剖析
  19. 第二章Controller Manager原理2.5节--DeltaFIFO剖析
  20. 第二章Controller Manager原理2.6节--Informer controller
  21. 第二章Controller Manager原理2.7节--Indexer剖析
  22. 第二章Controller Manager原理2.8节--Resync机制
  23. 第三章List-Watch机制3.1节-- List-Watch机制剖析
  24. 第四章Operator原理4.1节--定制资源(Custom Resource)
  25. 第四章Operator原理4.2节--CRD
  26. 第四章Operator原理4.3节--Operator模式
  27. 第四章Operator原理4.4节--Operator深入实践
  28. 第五章容器运行时5.1节--容器运行时总述
  29. 第五章容器运行时5.2节--容器运行时接口规范CRI
  30. 第五章容器运行时5.3.1--runC简介与使用
  31. 第五章容器运行时5.3.2--runC原理解读
  32. 第五章容器运行时5.4--容器运行时之Firecracker
  33. 第五章容器运行时5.5--容器运行时之Kata Container
  34. 第五章容器运行时5.6--容器运行时之gVisor
  35. 第六章容器网络6.1--Docker网络模型
  36. 第六章容器网络6.2--K8S网络模型
  37. 第六章容器网络6.3--CNI及各CNI网络解决方案简述

1 部署系统需求

1.1 节点需求

1)配置 NetworkManager

        大多数 Linux 都用 NetworkManager 来控制网络,这会影响 Calico 管理接口。

        创建 /etc/NetworkManager/conf.d/calico.conf 文件可以防止 NetworkManager 干扰接口。

[keyfile] 
unmanaged-devices=interface-name:cali*;
interface-name:tunl*;
interface-name:vxlan.calico;
interface-name:vxlan-v6.calico;
interface-name:wireguard.cali;
interface-name:wg-v6.cali

2)Firewalld 或其他 iptables 管理器需要关闭

        防火墙会干扰 Calico 添加的 rule。如果主机需要防火墙,可以用 Calico HostEndpoint 和 GlobalNetworkPolicy 来配置防火墙,参考Security for host。

1.2 Key/Value 存储

        Calico v3.24 需要所有的组件都可访问 key/value 存储。在 K8s 上,可以配置 Calico 访问 tecdv3 集群,或者使用 k8s API 数据存储。

1.3 网络需求

        确保主机和防火墙配置允许必要的流量:

 1.4 权限需求

        确保 Calico 拥有 CAP_SYS_ADMIN 权限。最简单的方法是用 root 运行 Calico。

1.5 Kubernetes 需求

1)支持版本

        Calico v3.24 支持的(测试过的) k8s 版本有:v1.22, v1.23, v1.24

2)CNI 插件支持

        Calico 作为 CNI 插件安装, kubelet 必须配置 --network-plugin=cni 来使用 CNI 网络。(这是kubeadm 默认行为)

3)支持的 kube-proxy 模式

        Calico 支持一下 kube-proxy 模式:

  • Iptables (默认)
  • Ipvs (需要 k8s >=v1.9.3,参考:Enabling IPVS in Kubernetes

4)IP 池配置

        给 Pod ip地址选择的范围不能与网络中的其他地址范围冲突。

1.6 应用层策略需要

  • MutatingAdmissionWebhook enabled
  • Istio v1.9 or v1.10

2 安装部署Calico

        Calico的部署方法有3种,针对的情况各不同:

  • 针对节点数小于50,使用 k8s API 数据存储安装;
  • 针对节点数大于50,使用 k8s API 数据存储和Typha 安装;
  • 如果将 Calico 作为 OpenStack 和 k8s 的网络插件,可以用 etcd 数据库的方式安装。对于第一次安装,不推荐使用这种方式。

使用第1种方法。

2.1 下载部署文件

https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/calico.yaml 
# 需要代理

        确定 pod cidr 是 192.168.0.0/16

2.2 准备镜像

1、查看需要下载的镜像

[root@master calico]# grep image: calico.yaml 
image: docker.io/calico/cni:v3.24.1 
image: docker.io/calico/cni:v3.24.1 
image: docker.io/calico/node:v3.24.1 
image: docker.io/calico/node:v3.24.1 
image: docker.io/calico/kube-controllers:v3.24.1

2、拉取镜像并保存到文件

docker pull calico/cni:v3.24.1 
docker pull calico/node:v3.24.1 
docker pull calico/kube-controllers:v3.24.1 
docker save -o cni.tar calico/cni:v3.24.1 
docker save -o node.tar calico/node:v3.24.1 
docker save -o kube-controllers.tar calico/kube-controllers:v3.24.1

3、修改部署文件

vim calico.yaml 
将所有 image: docker.io/calico/*:v3.24.1 
替换为 image: 10.x.x.x:5000/calico/*:v3.24.1 
10.x.x.x:5000是本地镜像仓库接口

4、在内网环境中,导入并上传镜像

docker load -i cni.tar 
docker load -i node.tar 
docker load -i kube-controllers.tar 
docker tag calico/cni:v3.24.1 10.x.x.x:5000/calico/cni:v3.24.1 
docker tag calico/node:v3.24.1 10.x.x.x:5000/calico/node:v3.24.1 
docker tag calico/kube-controllers:v3.24.1 10.x.x.x:5000/calico/kube-controllers:v3.24.1 
docker push 10.x.x.x:5000/calico/cni:v3.24.1 
docker push 10.x.x.x:5000/calico/node:v3.24.1 
docker push 10.x.x.x:5000/calico/kube-controllers:v3.24.1

2.3 应用安装

        确认环境变量 export KUBECONFIG=/etc/kubernetes/admin.conf 已经配置、执行

kubectl apply -f calico.yaml 
# 执行成功后运行 
kubectl get pod --all-namespaces=true 
# 可以看到 calico 已经作为 kube-system 命名控件的 pod 运行

2.4 calicoctl安装

curl -O -L https://github.com/projectcalico/calicoctl/releases/download/v3.2.3/calicoctl 
chmod +x calicoctl

配置

$ export CALICO_DATASTORE_TYPE=kubernetes 
$ export CALICO_KUBECONFIG=~/.kube/config 
$ calicoctl get workloadendpoints

相关操作

[root@host229 gaogao]# ./calicoctl node status 
Calico process is running. 
IPv4 BGP status 
+--------------+-------------------+-------+----------+---------+ 
| PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO | 
+--------------+-------------------+-------+----------+---------+ 
| 172.16.1.1 | node-to-node mesh | start | 01:12:01 | Connect | 
| 172.16.3.1 | node-to-node mesh | start | 01:12:01 | Connect | 
| 172.16.2.1 | node-to-node mesh | start | 01:12:01 | Connect | 
+--------------+-------------------+-------+----------+---------+ 
[root@host229 gaogao]# ./calicoctl get ipPool -o wide 
NAME                   CIDR           NAT IPIPMODE DISABLED 
default-ipv4-ippool 192.168.0.0/16   true  Always   false 
[root@host229 gaogao]# ./calicoctl get workloadEndpoint 
WORKLOAD               NODE       NETWORKS     INTERFACE 
myip-5fc5cf6476-m65c5 host228 192.168.1.5/32 calia0a174e3b5b 
myip-5fc5cf6476-n47g8 host229 192.168.2.2/32 cali99ed6eefcc9 
myip-5fc5cf6476-npxvp host227 192.168.0.2/32 cali433253597ce 
myip-5fc5cf6476-th7t2 host214 192.168.3.4/32 calid09129ac453

2.5 kubernetes上calico的使用

//由于我的环境是kube-router需要将以前的数据清理下,如果遇到问题需要清理也可以按照如下步骤

2.5.1 环境的清理

删除网卡

ip tunnel show 
modprobe -r ipip

        删除node已经分配的podCIDR。

        此处为了方便,在/etc/profile操作做了两个 alias。

export ETCDCTL_API=3 
alias etcdctl='etcdctl --endpoints=https://10.20.16.227:2379,https://10.20.16.228:2379,https://10.20.16.229:2379 --cacert=/data/cloud/ssl/ca.pem --cert=/data/cloud/ssl/etcd.pem --key=/data/cloud/ssl/etcd-key.pem' 
alias kubectl='kubectl --kubeconfig=/data/cloud/ssl/admin.conf'

2.5.2 配置的调整

kube-manager

[Service] 
ExecStart=/data/cloud/kubernetes/bin/kube-controller-manager \\ --address=127.0.0.1 \\ --allocate-node-cidrs=true \\ --cluster-cidr=192.168.0.0/16 \\ //换个新的网段以便区别 --cluster-name=kubernetes \\ --cluster-signing-cert-file=/data/cloud/ssl/ca.pem \\ --cluster-signing-key-file=/data/cloud/ssl/ca-key.pem \\ --service-account-private-key-file=/data/cloud/ssl/sa.key \\ --root-ca-file=/data/cloud/ssl/ca.pem \\ --leader-elect=true \\ --use-service-account-credentials=true \\ --node-monitor-grace-period=40s \\ --node-monitor-period=5s \\ --pod-eviction-timeout=2m0s \\ --controllers=*,bootstrapsigner,tokencleaner \\ --log-dir=/data/cloud/work/kubernetes/manager \\ --logtostderr=false \\ --kubeconfig=/data/cloud/ssl/controller-manager.conf \\ --v=2

kubelet

[Service] 
ExecStart=/data/cloud/kubernetes/bin/kubelet \\ --fail-swap-on=false \\ --hostname-override=host229 \\ --pod-infra-container-image=k8s.gcr.io/pause:3.1 \\ --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin \\ //网络插件位置指定 --kubeconfig=/data/cloud/ssl/kubelet.conf \\ --bootstrap-kubeconfig=/data/cloud/ssl/bootstrap.conf \\ --pod-manifest-path=/data/cloud/kubernetes/manifests \\ --allow-privileged=true \\ --cluster-dns=10.254.0.2 \\ --cluster-domain=cluster.kube. \\ --authorization-mode=Webhook \\ --client-ca-file=/data/cloud/ssl/ca.pem \\ --rotate-certificates=true \\ --cert-dir=/data/cloud/kubernetes/ssl \\ --cgroup-driver=cgroupfs \\ --serialize-image-pulls=false \\ --root-dir=/data/cloud/work/kubernetes/kubelet \\ --log-dir=/data/cloud/work/kubernetes/kubelet \\ --logtostderr=false \\ --v=2
[root@host229 ~]# etcdctl get / --prefix --keys-only |grep minions/registry/minions/host214/registry/minions/host227/registry/minions/host228/registry/minions/host229[root@host229 ~]# etcdctl del /registry/minions/host214[root@host229 ~]# etcdctl del /registry/minions/host227[root@host229 ~]# etcdctl del /registry/minions/host228[root@host229 ~]# etcdctl del /registry/minions/host229

2.6 calico容器化安装

文件模板地址

https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/

Typha:在节点数比较多的情况下,Felix可通过Typha直接和Etcd进行数据交互,不通过kube-apiserver,既降低其压力。生产环境中实例数建议在3~20之间,随着节点数的增加,按照每个Typha对应200节点计算。如果需要启用需要调整Typha的replicas。

//指定calico权限rbac-kdd.yaml 
[root@host229 ~]# kubectl aaply -f rbac.yaml //calico的安装 
[root@host229 ~]# kubectl apply -f calico.yaml //进程查看 
[root@host229 ~]# kubectl -n kube-system get pod 
NAME              READY STATUS  RESTARTS AGE 
calico-node-873k8  2/2  Running    0     8s 
calico-node-d7hfd  2/2  Running    0     10s 
calico-node-lq4f9  2/2  Running    0     10s 
calico-node-qsb66  2/2  Running    0     10s //查看各个主机的路由表 
[root@host229 calico]# route -n 
Kernel IP routing table 
Destination   Gateway    Genmask      Flags Metric Ref Use Iface 
0.0.0.0     10.20.16.1   0.0.0.0       UG    100    0   0  eno1 
10.0.0.0    0.0.0.0      255.0.0.0     U     100    0   0  eno1 
172.17.0.0  0.0.0.0      255.255.0.0   U      0     0   0  docker0 
192.168.0.0 0.0.0.0      255.255.255.0 U      0     0   0  tunl0 
192.168.1.0 10.20.16.228 255.255.255.0 UG     0     0   0  eno1 
192.168.2.0 10.20.16.227 255.255.255.0 UG     0     0   0  eno1 
192.168.3.0 10.20.16.214 255.255.255.0 UG     0     0   0  eno1 [root@host229 calico]# kubectl run tomcat --image=tomcat --replicas=3 
[root@host229 yaml]# kubectl get pod -o wide |grep tomcat 
tomcat-64f79959d8-mngnz 1/1 Running 0 15s 192.168.2.3 host227 
tomcat-64f79959d8-tsnv2 1/1 Running 0 10s 192.168.0.2 host229 
tomcat-64f79959d8-zdf2z 1/1 Running 0 10s 192.168.1.2 host228 //再次查看路由表 
Kernel IP routing table 
Destination Gateway       Genmask       Flags Metric Ref Use Iface 
0.0.0.0     10.20.16.1   0.0.0.0         UG    100    0   0  eno1 
10.0.0.0    0.0.0.0      255.0.0.0       U     100    0   0  eno1 
172.17.0.0  0.0.0.0      255.255.0.0     U     0      0   0  docker0 
192.168.0.0 0.0.0.0      255.255.255.0   U     0      0   0  tunl0 
192.168.1.0 10.20.16.228 255.255.255.0   UG    0      0   0  eno1 
192.168.2.0 10.20.16.227 255.255.255.0   UG    0      0   0  eno1 
192.168.3.0 10.20.16.214 255.255.255.0   UG    0      0   0  eno1 
192.168.0.2 0.0.0.0      255.255.255.255 UH    0      0   0  cali12b26626b64 //联通性测试 
//容器到容器 
[root@host229 yaml]# kubectl exec -it tomcat-64f79959d8-mngnz -- ping 192.168.0.2 
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. 
64 bytes from 192.168.0.2: icmp_seq=1 ttl=62 time=0.404 ms 
64 bytes from 192.168.0.2: icmp_seq=2 ttl=62 time=0.257 ms 
64 bytes from 192.168.0.2: icmp_seq=3 ttl=62 time=0.287 ms //主机到容器 
[root@host229 yaml]# ping 192.168.0.2 
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. 
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.097 ms 
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.064 ms 
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.054 ms

参考链接

k8s网络之Calico网络

Calico网络的原理、组网方式与使用

网络组件 Calico 的落地实践_Spring_java_gg的博客-CSDN博客

Calico网络模型

Kubernetes容器网络(二):Calico网络原理_邋遢的流浪剑客的博客-CSDN博客

Calico 学习指南_51CTO博客_hcia学习指南

k8s之Calico

一图看懂Calico架构原理 - 简书

Qunar 容器平台网络之道:Calico - 知乎

Calico IPAM_51CTO博客_calico ipam blocksize

Calico网络进阶_51CTO博客_calico 网络策略

K8s网络Calico 从入门到放弃系列_羊皮裘老头的技术博客_51CTO博客

Kubernetes上安装Calico_51CTO博客_kubernetes安装

114.kubernetes之calico - 简书

《重识云原生系列》专题索引:

  1. 【云原生布道系列】第一篇:不谋全局不足以谋一域
  2. 【云原生布道系列】第二篇:云原生时代领域解决方案专家的价值
  3. 【云原生布道系列】第三篇:“软”饭“硬”吃的计算
  4. 第二章计算第1节——计算虚拟化技术总述
  5. 第二章计算第2节——主流虚拟化技术之VMare ESXi
  6. 第二章计算第3节——主流虚拟化技术之Xen
  7. 第二章计算第4节——主流虚拟化技术之KVM
  8. 第二章计算第5节——商用云主机方案
  9. 第二章计算第6节——裸金属方案
  10. 第三章云存储第1节——分布式云存储总述
  11. 第三章云存储第2节——SPDK方案综述
  12. 第三章云存储第3节——Ceph统一存储方案
  13. 第三章云存储第4节——OpenStack Swift 对象存储方案
  14. 第三章云存储第5节——商用分布式云存储方案
  15. 第四章云网络第一节——云网络技术发展简述
  16. 第四章云网络4.2节——相关基础知识准备
  17. 第四章云网络4.3节——重要网络协议
  18. 第四章云网络4.3.1节——路由技术简述
  19. 第四章云网络4.3.2节——VLAN技术
  20. 第四章云网络4.3.3节——RIP协议
  21. 第四章云网络4.3.4.1-2节——OSPF协议综述
  22. 第四章云网络4.3.4.3节——OSPF协议工作原理
  23. 第四章云网络4.3.4.4节——[转载]OSPF域内路由
  24. 第四章云网络4.3.4.5节——[转载]OSPF外部路由
  25. 第四章云网络4.3.4.6节——[转载]OSPF特殊区域之Stub和Totally Stub区域详解及配置
  26. 第四章云网络4.3.4.7节——OSPF特殊区域之NSSA和Totally NSSA详解及配置
  27. 第四章云网络4.3.5节——EIGRP协议
  28. 第四章云网络4.3.6节——IS-IS协议
  29. 第四章云网络4.3.7节——BGP协议
  30. 第四章云网络4.3.7.2节——BGP协议概述
  31. 第四章云网络4.3.7.3节——BGP协议实现原理
  32. 第四章云网络4.3.7.4节——高级特性
  33. 第四章云网络4.3.7.5节——实操
  34. 第四章云网络4.3.7.6节——MP-BGP协议
  35. 第四章云网络4.3.8节——策略路由
  36. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
  37. 第四章云网络4.3.10节——VXLAN技术
  38. 第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  39. 第四章云网络4.3.10.3节——VXLAN隧道机制
  40. 第四章云网络4.3.10.4节——VXLAN报文转发过程
  41. 第四章云网络4.3.10.5节——VXlan组网架构
  42. 第四章云网络4.3.10.6节——VXLAN应用部署方案
  43. 第四章云网络4.4节——Spine-Leaf网络架构
  44. 第四章云网络4.5节——大二层网络
  45. 第四章云网络4.6节——Underlay 和 Overlay概念
  46. 第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
  47. 第四章云网络4.7.2节——virtio网络半虚拟化简介
  48. 第四章云网络4.7.3节——Vhost-net方案
  49. 第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
  50. 第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
  51. 第四章云网络4.7.6节——virtio-blk存储虚拟化方案
  52. 第四章云网络4.7.8节——SR-IOV方案
  53. 第四章云网络4.7.9节——NFV
  54. 第四章云网络4.8.1节——SDN总述
  55. 第四章云网络4.8.2.1节——OpenFlow概述
  56. 第四章云网络4.8.2.2节——OpenFlow协议详解
  57. 第四章云网络4.8.2.3节——OpenFlow运行机制
  58. 第四章云网络4.8.3.1节——Open vSwitch简介
  59. 第四章云网络4.8.3.2节——Open vSwitch工作原理详解
  60. 第四章云网络4.8.4节——OpenStack与SDN的集成
  61. 第四章云网络4.8.5节——OpenDayLight
  62. 第四章云网络4.8.6节——Dragonflow
  63. 第四章云网络4.9.1节——网络卸载加速技术综述
  64. 第四章云网络4.9.2节——传统网络卸载技术
  65. 第四章云网络4.9.3.1节——DPDK技术综述
  66. 第四章云网络4.9.3.2节——DPDK原理详解
  67. 第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述
  68. 第四章云网络4.9.4.2节——智能网卡实现
  69. 第六章容器6.1.1节——容器综述
  70. 第六章容器6.1.2节——容器安装部署
  71. 第六章容器6.1.3节——Docker常用命令
  72. 第六章容器6.1.4节——Docker核心技术LXC
  73. 第六章容器6.1.5节——Docker核心技术Namespace
  74. 第六章容器6.1.6节—— Docker核心技术Chroot
  75. 第六章容器6.1.7.1节——Docker核心技术cgroups综述
  76. 第六章容器6.1.7.2节——cgroups原理剖析
  77. 第六章容器6.1.7.3节——cgroups数据结构剖析
  78. 第六章容器6.1.7.4节——cgroups使用
  79. 第六章容器6.1.8节——Docker核心技术UnionFS
  80. 第六章容器6.1.9节——Docker镜像技术剖析
  81. 第六章容器6.1.10节——DockerFile解析
  82. 第六章容器6.1.11节——docker-compose容器编排
  83. 第六章容器6.1.12节——Docker网络模型设计
  84. 第六章容器6.2.1节——Kubernetes概述
  85. 第六章容器6.2.2节——K8S架构剖析
  86. 第六章容器6.3.1节——K8S核心组件总述
  87. 第六章容器6.3.2节——API Server组件
  88. 第六章容器6.3.3节——Kube-Scheduler使用篇
  89. 第六章容器6.3.4节——etcd组件
  90. 第六章容器6.3.5节——Controller Manager概述
  91. 第六章容器6.3.6节——kubelet组件
  92. 第六章容器6.3.7节——命令行工具kubectl
  93. 第六章容器6.3.8节——kube-proxy
  94. 第六章容器6.4.1节——K8S资源对象总览
  95. 第六章容器6.4.2.1节——pod详解
  96. 第六章容器6.4.2.2节——Pod使用(上)
  97. 第六章容器6.4.2.3节——Pod使用(下)
  98. 第六章容器6.4.3节——ReplicationController
  99. 第六章容器6.4.4节——ReplicaSet组件
  100. 第六章容器基础6.4.5.1节——Deployment概述
  101. 第六章容器基础6.4.5.2节——Deployment配置详细说明
  102. 第六章容器基础6.4.5.3节——Deployment实现原理解析
  103. 第六章容器基础6.4.6节——Daemonset
  104. 第六章容器基础6.4.7节——Job
  105. 第六章容器基础6.4.8节——CronJob
  106. 第六章容器基础6.4.9.1节——Service综述
  107. 第六章容器基础6.4.9.2节——使用 Service 连接到应用
  108. 第六章容器基础6.4.9.3节——Service拓扑感知
  109. 第六章容器基础6.4.10.1节——StatefulSet概述
  110. 第六章容器基础6.4.10.2节——StatefulSet常规操作实操
  111. 第六章容器基础6.4.10.3节——StatefulSet实操案例-部署WordPress 和 MySQL
  112. 第六章容器基础6.4.10.4节——StatefulSet实操案例-使用 StatefulSet 部署Cassandra
  113. 第六章容器基础6.4.10.5节——Statefulset原理剖析
  114. 第六章容器基础6.4.11.1节——Ingress综述

《云原生进阶之容器》专题索引:

  1. 第一章Docker核心技术1.1节——Docker综述
  2. 第一章Docker核心技术1.2节——Linux容器LXC
  3. 第一章Docker核心技术1.3节——命名空间Namespace
  4. 第一章Docker核心技术1.4节——chroot技术
  5. 第一章Docker核心技术1.5.1节——cgroup综述
  6. 第一章Docker核心技术1.5.2节——cgroups原理剖析
  7. 第一章Docker核心技术1.5.3节——cgroups数据结构剖析
  8. 第一章Docker核心技术1.5.4节——cgroups使用
  9. 第一章Docker核心技术1.6节——UnionFS
  10. 第一章Docker核心技术1.7节——Docker镜像技术剖析
  11. 第一章Docker核心技术1.8节——DockerFile解析
  12. 第一章Docker核心技术1.9节——docker-compose容器编排
  13. 第一章Docker核心技术1.10节——Docker网络模型设计
  14. 第二章——Kubernetes概述
  15. 第二章Controller Manager原理剖析--2.1节Controller Manager综述
  16. 第二章Controller Manager原理2.2节--client-go剖析
  17. 第二章Controller Manager原理2.3节--Reflector分析
  18. 第二章Controller Manager原理2.4节--Informer机制剖析
  19. 第二章Controller Manager原理2.5节--DeltaFIFO剖析
  20. 第二章Controller Manager原理2.6节--Informer controller
  21. 第二章Controller Manager原理2.7节--Indexer剖析
  22. 第二章Controller Manager原理2.8节--Resync机制
  23. 第三章List-Watch机制3.1节-- List-Watch机制剖析
  24. 第四章Operator原理4.1节--定制资源(Custom Resource)
  25. 第四章Operator原理4.2节--CRD
  26. 第四章Operator原理4.3节--Operator模式
  27. 第四章Operator原理4.4节--Operator深入实践
  28. 第五章容器运行时5.1节--容器运行时总述
  29. 第五章容器运行时5.2节--容器运行时接口规范CRI
  30. 第五章容器运行时5.3.1--runC简介与使用
  31. 第五章容器运行时5.3.2--runC原理解读
  32. 第五章容器运行时5.4--容器运行时之Firecracker
  33. 第五章容器运行时5.5--容器运行时之Kata Container
  34. 第五章容器运行时5.6--容器运行时之gVisor
  35. 第六章容器网络6.1--Docker网络模型
  36. 第六章容器网络6.2--K8S网络模型
  37. 第六章容器网络6.3--CNI及各CNI网络解决方案简述