#安装篇
一、kubeadm安装
- k8s高可用架构解析
kubeadm高可用安装基本说明
kubeadm基本环节配置
kubeadm基本组件安装
kubeadm高可用组件安装
kubeadm集群初始化
高可用master及token过期处理
kubeadm node节点配置
Dashboard&Metrics Server安装
集群可用性检查 二、二进制安装
- k8s高可用架构解析
二进制高可用安装k8s集群说明
二进制高可用基本配置
二进制系统和内核升级
二进制基本组件安装
二进制生成证书详解
二进制高可用及k8s组件配置
二进制安装TLS Bootstrapping自动颁发证书
二进制Node节点配置(Calico、CoreDNS)
二进制Metrics&Dashboard安装
二进制高可用集群可用性验证
生产环节k8s集群关键性配置
Bootstarapping:kubelet启动过程
Bootstarapping:CSR申请证书和颁发原理
Bootsarapping:证书自动续期原理
基础篇
一、必备Docker知识
Docker基础
Docker基本命令上
Docker基本命令下
Dockerfile用法
镜像优化:制作小镜像上
镜像优化:多阶段制作小镜像
Scratch镜像二、K8S基本概念
为什么要用Kubernetes?
k8s架构解析:master节点介绍
K8S节点解析:Node节点介绍
什么是Pod?
为什么要引入Pod?
定义一个Pod
零宕机发布应用必备知识:Pod三种指针
零宕机必备知识:StartupProbe三、资源调度
RC&ReplicaSet
无状态服务Deployment概念
Deployment的更新
Deployment的回滚
Deployment扩容和缩容
Deployment更新暂停和恢复
Deplloyment更新注意事项
有状态应用管理StatefulSet概念
创建一个StatefulSet应用
StatefulSet扩容和缩容
StatefulSet更新策略
StatefulSet灰度发布
StatefulSet级联删除和非级联删除
守护进程服务DaemonSet
DaemonSet的使用
DaemonSet的更新和回滚
HPA自动扩缩容四、服务发布
Label&Selector
在k8s上如何发布服务的
什么是Service
定义一个Service
使用Service代理k8s外部服务
使用Service反代外部域名
Service常用类型
什么是Ingress?
使用helm安装ingress
Ingress简单使用
Ingress多域名使用五、配置管理
k8s配置管理ConfigMap
k8s加密数据管理Secret
ConfigMap&Secret使用Subath
ConfigMap&Secret热更新
k8s1.19的不可变Secret和ConfigMap
进阶篇
一、持久化存储
k8s存储Volumes介绍
Volumes HostPath挂载宿主机路径
Volumes EmptyDir实现数据共享
挂载NFS至容器
持久化存储PV&PVC概念
PV&PVC入门使用二、高级调度
CronJob计划任务
污点和容忍Taint&Toleration入门
Taint&Toleration补充
初始化容器InitContainer
Affinity亲和力入门
节点亲和力NodeAffinity使用
Pod亲和力和反亲和力
Topology拓扑域概念
使用Topology实现多地多机房部署
临时容器概念和配置
使用临时容器在线debug三、准入控制级细粒度权限控制
RBAC权限管理概念
RBAC使用
安装一键式k8s资源平台Ratel到k8s集群中
Ratel简单使用
准入控制
Kubernetes服务质量QoS
使用PodPreset预配置容器时区注意事项
Dashboard基于 用户名密码认证
RBAC实现不同用户不同权限
ServiceACCount权限管理
高级篇
一、云原生存储及存储进阶
云原生存储Rook介绍
Rook部署
使用Rook部署Ceph集群
创建块存储类型的动态存储
StatefulSet动态申请存储
使用PVC动态申请存储
共享文件系统类型的StorageClass
PVC在线扩容和PVC快照
Rook集群清理和重建
PVC在线扩容使用
PVC快照和回滚
Rook Ceph xfs_repair问题
存储回顾二、中间件容器化及Helm
容器化中间件基本说明
如何部署一个容器到k8s
部署Redis Operator
在k8s上部署redis集群
redis集群扩容和缩容
部署RabbitMQ集群到k8s
解决RabbitMQ密码不生效问题
RabbitMQ扩容和缩容
Helm v3使用安装
Helm目录层级
Helm语法
编写Helm部署RabbitMQ集群
运行自己编写的Helm
部署Zookeeper和Kafka集群
Kafaka和Zookeeper集群扩容和缩容
运维篇
一、k8s容器日志收集
EFK日志收集
使用Filebeat收集容器内日志
使用不同资源名称查询日志二、Prometheus监控入门
prometheus安装
prometheus Metrics类型
PromQL基本操作
PromQL常用函数
解决Scheduler监控问题
Prometheus监控etcd集群
Prometheus Exporter
Prometheus黑盒监控
Probetheus additional三、Prometheus告警处理
Alertmanager入门
Prometheus使用邮件告警
Prometheus使用微信告警
Prometheus自定义告警模板四、Prometheus监控实战
Prometheus自动发现
Prometheus监控Java JVM
基于Eureka自动发现监控Java JVM五、服务发布Ingress进阶
Ingress Nginx入门
Ingress Nginx域名重定向
Ingress Nginx前后端分离
Ingress Nginx SSL配置
Ingress Nginx白黑名单
Ingress Nginx匹配请求头
Ingress Nginx速率限制
Ingress Nginx实现灰度/金丝雀
Ingress Nginx 自定义错误页面
Ingress Nginx 基本认证
Ingress Nginx监控
k8s1.19下的Ingress配置
DevOps篇
一、持续集成/持续部署入门
Jenkins CICD介绍
Jenkins安装
Jenkins声明式流水线入门
Jenkins变量使用
Jenkins联级变量
镜像仓库配置
GitLab安装配置
Jenkins Credentials配置
Jenkins BlueOcean入门
不同环节流水线设计
图像化创建Jenkinsfile二、持续集成/持续部署实战 基于K8s的动态Jenkins Slave
Jenkins配置kubernetes多集群
KUBECONFIG多集群配置
Jenkins自动化构建Java应用
Jenkins自动化构建NodeJS应用
Docker镜像高级优化及自动化构建建议
Jenkins生产环节和UAT环节流水线设计
Jenkins基于角色的账户管理三、SpringCloud容器化原理及生产建议
容器化Spring Cloud项目说明
SpringCloud架构解析
如何在k8s上正确部署Eureka
到底要不要用Eureka
如何正确部署Zuul和ConfigServer到k8s
SpringCloud项目总结