第 1 ç« Kubernetes 组件概念 ......................................................................................................... 1 1.1 云计算概念 .............................................................................................................................................1 1.2 云计算技术的分类 ..................................................................................................................................1 1.3 Kubernetes å…¥é—¨åŠæ¦‚念介ç».....................................................................................................................2 1.4 Kubernetes å¹³å°ç»„件概念 ........................................................................................................................3 1.5 Kubernetes 工作原ç†å‰–æž ........................................................................................................................4 1.6 Pod æ¦‚å¿µå‰–æž ..........................................................................................................................................7 1.7 label 概念剖æž.........................................................................................................................................8 1.8 Replication Controller æ¦‚å¿µå‰–æž ................................................................................................................8 1.9 service 概念剖æž......................................................................................................................................9 1.10 node æ¦‚å¿µå‰–æž .....................................................................................................................................10 1.11 Kubernetes volume 概念剖æž.................................................................................................................10 1.12 Deployment 概念剖æž...........................................................................................................................11 1.13 DaemonSet 概念剖æž............................................................................................................................11 1.14 StatefulSet 概念剖æž.............................................................................................................................11 1.15 ConfigMap æ¦‚å¿µå‰–æž ............................................................................................................................12 1.16 Secrets 概念剖æž..................................................................................................................................13 1.17 CronJob æ¦‚å¿µå‰–æž ................................................................................................................................14 1.18 Kubernetes è¯ä¹¦å‰–æžå’Œåˆ¶ä½œå®žæˆ˜ .........................................................................................................15 第 2 ç« Kubernetes 云计算平å°é…置实战 ..................................................................................... 25 2.1 Kubernetes 节点 hosts åŠé˜²ç«å¢™è®¾ç½®......................................................................................................25 2.2 Linux å†…æ ¸å‚æ•°è®¾ç½®å’Œä¼˜åŒ– ...................................................................................................................26 2.3 Docker 虚拟化案例实战.........................................................................................................................26 2.4 Kubernetes æ·»åŠ éƒ¨ç½²æº..........................................................................................................................27 2.5 Kubernetes Kubeadm 案例实战...............................................................................................................28 2.6 Kubernetes master 节点实战 ...................................................................................................................30 2.7 Kubernetes é›†ç¾¤èŠ‚ç‚¹å’Œåˆ é™¤...................................................................................................................31 2.8 Kubernetes 节点网络é…ç½® ......................................................................................................................31 2.9 Kubernetes å¼€å¯ IPVS æ¨¡å¼ ....................................................................................................................39 2.10 Kubernetes 集群故障排错 ....................................................................................................................40 VI Linux 云计算——Kubernetes 实战 2.11 Kubernetes 集群节点移除 ....................................................................................................................40 2.12 etcd åˆ†å¸ƒå¼æ¡ˆä¾‹æ“作 ...........................................................................................................................40 第 3 ç« Kubernetes ä¼ä¸šç½‘络 Flannel 实战................................................................................... 42 3.1 Flannel 工作原ç†...................................................................................................................................42 3.2 Flannel 架构介ç»...................................................................................................................................43 3.3 Kubernetes Dashboard UI 实战 ................................................................................................................44 3.4 Kubernetes YAML 文件详解...................................................................................................................47 3.5 kubectl å¸¸è§æŒ‡ä»¤æ“作............................................................................................................................49 3.6 Kubernetes æœ¬åœ°ç§æœ‰ä»“库实战...............................................................................................................50 第 4 ç« Kubernetes æ ¸å¿ƒç»„ä»¶ service 实战................................................................................... 52 4.1 Kubernetes service 概念..........................................................................................................................52 4.2 Kubernetes service 实现方å¼...................................................................................................................53 4.3 service 实战:ClusterIP 案例演练 ..........................................................................................................54 4.4 service 实战:NodePort 案例演练...........................................................................................................55 4.5 service 实战:LoadBalancer 案例演练 ....................................................................................................56 4.6 service 实战:Ingress 案例演练..............................................................................................................58 4.7 Kubernetes Traefik 案例实战 ..................................................................................................................63 第 5 ç« Kubernetes 容器å‡çº§å®žæˆ˜ ................................................................................................ 73 5.1 Kubernetes 容器å‡çº§æ¦‚念 ......................................................................................................................73 5.2 Kubernetes 容器å‡çº§å®žçŽ°æ–¹å¼...............................................................................................................73 5.3 Kubernetes 容器å‡çº§æµ‹è¯• ......................................................................................................................75 5.4 Kubernetes 容器å‡çº§éªŒè¯ ......................................................................................................................76 5.5 Kubernetes 容器å‡çº§å›žæ»š ......................................................................................................................77 5.6 Kubernetes 滚动å‡çº§å’Œå›žæ»šåŽŸç† ...........................................................................................................78 第 6 ç« Kubernetes+NFS æŒä¹…化å˜å‚¨å®žæˆ˜ ................................................................................... 82 6.1 Kubernetes æœåŠ¡è¿è¡ŒçŠ¶æ€ ......................................................................................................................82 6.2 Kubernetes å˜å‚¨ç³»ç»Ÿ .............................................................................................................................83 6.3 Kubernetes å˜å‚¨ç»‘定的概念...................................................................................................................84 6.4 PV 的访问模å¼......................................................................................................................................84 6.5 Kubernetes+NFS 陿€å˜å‚¨æ¨¡å¼..............................................................................................................86 6.6 PVC å˜å‚¨å·åˆ›å»º ...................................................................................................................................87 6.7 Nginx æ•´åˆ PV å˜å‚¨å· ...........................................................................................................................88 6.8 Kubernetes+NFS 动æ€å˜å‚¨æ¨¡å¼..............................................................................................................90 6.9 NFS æ’ä»¶é…置实战 ................................................................................................................................91 第 7 ç« Kubernetes+CephFS æŒä¹…化å˜å‚¨å®žæˆ˜ ............................................................................. 96 7.1 Kubernetes+CephFS 陿€å˜å‚¨æ¨¡å¼.........................................................................................................96 目录 VII 7.2 PV å˜å‚¨å·åˆ›å»º......................................................................................................................................96 7.3 PVC å˜å‚¨å·åˆ›å»º ...................................................................................................................................97 7.4 Nginx æ•´åˆ CephFS PV å˜å‚¨å· ...............................................................................................................98 7.5 Kubernetes+CephFS 动æ€å˜å‚¨æ¨¡å¼....................................................................................................... 100 7.6 CephFS åŠ¨æ€æ’ä»¶é…置实战.................................................................................................................. 101 第 8 ç« Kubernetes+Ceph RBD æŒä¹…化å˜å‚¨å®žæˆ˜ ....................................................................... 105 8.1 Kubernetes+Ceph RBD 陿€å˜å‚¨æ¨¡å¼................................................................................................... 105 8.2 PV å˜å‚¨å·åˆ›å»º.................................................................................................................................... 105 8.3 PVC å˜å‚¨å·åˆ›å»º ................................................................................................................................. 107 8.4 Nginx æ•´åˆ Ceph PV å˜å‚¨å· ................................................................................................................. 107 8.5 Kubernetes+Ceph RBD 动æ€å˜å‚¨æ¨¡å¼................................................................................................... 109 8.6 Ceph RBD æ’ä»¶é…置实战 ..................................................................................................................... 110 第 9 ç« Prometheus 监控 Kubernetes 实战 ................................................................................ 117 9.1 Prometheus 监控优点 ........................................................................................................................... 117 9.2 Prometheus 监控特点 ........................................................................................................................... 118 9.3 Prometheus 组件实战 ........................................................................................................................... 118 9.4 Prometheus 体系结构 ........................................................................................................................... 119 9.5 Prometheus 工作æµç¨‹ ........................................................................................................................... 120 9.6 Prometheus å’Œ Kubernetes 背景............................................................................................................. 120 9.7 Kubernetes 集群部署 node-exporter ...................................................................................................... 121 9.8 Kubernetes 集群部署 Prometheus.......................................................................................................... 122 9.9 Kubernetes 集群部署 Grafana ............................................................................................................... 129 9.10 Kubernetes é…ç½®å’Œæ•´åˆ Prometheus .................................................................................................... 131 9.11 Kubernetes+Prometheus 报è¦è®¾ç½® ....................................................................................................... 135 9.12 Kubernetes Alertmanager 实战............................................................................................................. 136 9.13 Alertmanager 实战部署....................................................................................................................... 140 第 10 ç« Kubernetes etcd æœåŠ¡å®žæˆ˜............................................................................................ 146 10.1 etcd å’Œ ZK æœåŠ¡æ¦‚å¿µ .......................................................................................................................... 146 10.2 etcd的使用场景................................................................................................................................ 147 10.3 etcd读写性能.................................................................................................................................... 147 10.4 etcd工作原ç†.................................................................................................................................... 147 10.5 etcd选主........................................................................................................................................... 148 10.6 etcd日志å¤åˆ¶.................................................................................................................................... 148 10.7 etcd安全性........................................................................................................................................ 149 10.8 etcd使用案例.................................................................................................................................... 150 10.9 etcd接å£ä½¿ç”¨.................................................................................................................................... 150 VIII Linux 云计算——Kubernetes 实战 第 11 ç« Kubernetes+HAProxy 高å¯ç”¨é›†ç¾¤ ............................................................................... 151 11.1 Kubernetes 高å¯ç”¨é›†ç¾¤æ¦‚念............................................................................................................... 151 11.2 Kubernetes 高å¯ç”¨å·¥ä½œåŽŸç†............................................................................................................... 151 11.3 HAProxy 安装é…ç½®............................................................................................................................. 152 11.4 é…ç½® Keepalived æœåŠ¡......................................................................................................................... 156 11.5 Keepalived master é…置实战................................................................................................................ 157 11.6 Keepalived Backup é…置实战 .............................................................................................................. 158 11.7 创建 HAProxy 检查脚本..................................................................................................................... 160 11.8 HAProxy+Keepalived éªŒè¯ .................................................................................................................. 160 11.9 åˆå§‹åŒ– master 集群............................................................................................................................ 161 11.10 Kubernetes Dashboard UI 实战 .......................................................................................................... 163 第 12 ç« Kubernetes é…置故障实战 ............................................................................................ 166 12.1 etcd é…ç½®ä¸å¿ƒæ•…障错误一.................................................................................................................. 166 12.2 etcd é…ç½®ä¸å¿ƒæ•…障错误二.................................................................................................................. 167 12.3 Pod infrastructure 故障错误三............................................................................................................. 167 12.4 Docker 虚拟化故障错误四 ................................................................................................................. 168 12.5 Docker 虚拟化故障错误五 ................................................................................................................. 168 12.6 Dashboard API æ•…éšœé”™è¯¯å… ................................................................................................................ 168 12.7 Dashboard 网络访问故障错误七 ........................................................................................................ 169