Kubernetes学习路线
- Kubernetes
- 2024-04-18
- 589热度
- 0评论
Kubernetes学习路线
安装篇
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集群关键性配置
- Bootstrapping:Kubelet启动过程
- Bootstrapping:CSR申请和证书颁发原理
- Bootstrapping:证书自动续期原理
基础篇
必备Docker知识
- Docker基础
- Docker基本命令
- Dockerfile用法
- 镜像优化:制作小镜像
- 镜像优化:多阶段制作小镜像
- Scratch镜像
K8S基础概念
- 为什么要用Kubernetes
- K8S架构解析:Master节点介绍
- K8S架构解析:Node节点介绍
- 什么是Pod
- 为什么要引入Pod
- 定义一个Pod
- 零宕机发布应用必备知识:Pod三种探针
- 零宕机必备知识:StartupProbe
- 零宕机必备知识:Liveness和Readiness
- 零宕机必备知识:Pod退出流程
- 零宕机必备知识:PreStop的使用
资源调度
- RC&ReplicaSet
- 无状态服务Deployment概念
- Deployment的更新
- Deployment的回滚
- Deployment扩容和缩容
- Deployment更新暂停和恢复
- Deployment更新注意事项
- 有状态应用管理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&Secrett使用SubPath
- ConfigMap&Secret热更新
- K8S1.19的不可变Secret和ConfigMap
进阶篇
持久化存储
- K8S存储Volumes介绍
- Volumes HostPath挂载宿主机路径
- Volumes EmptyDir实现数据共享
- 挂载NFS至容器
- 持久化存储PV&PVC概念
- PV&PVC入门使用
高级调度
- CronJob计划任务
- 污点和容忍Tainta&Toleration入门
- Taint&Toleration补充
- 初始化容器InitContainer
- Affinitys亲和力入门
- 节点亲和力NodeAffinity使用
- P0d亲和力和反亲和力
- Topology拓扑域概念
- 使用Topology实现多地多机房部署
- 临时容器概念和配置
- 使用临时容器在线debug
准入控制及细粒度权限控制
- RBAC权限管理概念
- RBAC使用
- 安装一键式K8S资源平台Ratel到K8S集群中
- Ratel简单使用
- 准入控制
- Kubernetes服务质量QoS
- 使用PodPreset预配置容器时区注意事项
- Dashboard基于用户名密码认证
- RBAC实现不同用户不同权限
- ServiceAccount权限管理
高级篇
云原生存储及存储进阶
- 云原生存储Rook介绍
- Rook部署
- 使用Rook部署Ceph集群
- 创建块存储类型的动态存储
- StatefulSet动态申请存储
- 使用PVC动态申请存储
- 共享文件系统类型的StorageClass
- PVC在线扩容和PVC快照
- R00k集群清理和重建
- PVC在线扩容使用
- PVC快照和回滚
- Rook Ceph xfs_repairi问题
- 存储回顾
中间件容器化及Helm
- 容器化中间件基本说明
- 如何部署一个容器到K8S
- 部署Redis Operator
- 在K8S上部署Redis集群
- Redis集群扩容和缩容
- 部署RabbitMQ集群到K8S
- 解决RabbitMQ密码不生效问题
- RabbitMQ扩容和缩容
- Helm安装使用
- Helm目录层级
- Helm语法
- 编写Helm部署RabbitMQ集群
- 运行自己编写的Helm
- 部署Zookeeper和Kafka集群
- Kafka和Zookeeper集群扩容缩容
运维篇
K8S容器日志收集
- EFK日志收集
- 使用Filebeat收集容器内日志
- 使用不同资源名称查询日志
Prometheus监控入门
- Prometheus安装
- Prometheus Metrics类型
- PromQL基本操作
- PromQL常用函数
- 解决Scheduler监控问题
- Prometheus监控etcd集群
- Prometheus Exporter
- Prometheus黑盒监控
- Prometheus additional
Prometheus告警处理
- Alertmanager入门
- Prometheust使用邮件告警
- Prometheus使用微信告警
- Prometheus自定义告警模板
Prometheus监控实战
- Prometheus自动发现
- Prometheus监控Java JVM
- 基于Eureka自动发现监控Java JVM
服务发布Ingress进阶
- Ingress Nginx入门
- Ingress Nginx域名重定向
- Ingress Nginx前后端分离
- Ingress Nginx SSLi配置
- 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 Credentialsi配置
- Jenkins BlueOcean,入门
- 不同环境流水线设计
- 图形化创建Jenkinsfile
持续集成/持续部署实战
- 基于K8S的动态Jenkins Slave
- Jenkins配置Kubernetes多集群
- KUBECONFIG多集群配置
- Jenkins自动化构建Java应用
- Jenkins自动化构建NodeJS应用
- Docker镜像高级优化及自动化构建建议
- Jenkins生产环境和UAT环境流水线设计
- Jenkins基于角色的账户管理
SpringCloud容器化原理及生产建议
- 容器化SpringCloud项目说明
- SpringCloud架构解析
- 如何在K8S上正确部署Eureka
- 到底要不要用Eureka
- 如何正确部署Zuul和ConfigServer到K8S
- 如何正确部署Zuul和ConfigServer到K8S
- SpringCloud项目总结
知识拓展
二进制集群升级
- 二进制Kubernetes升级说明
- 二进制Etcd集群升级
- 二进制Kubernetes升级说明
- 二进制Kubernetes升级Master组件
- 二进制Kubernetes升级Node和Calico
- 二进制Kubernetes升级CoreDNS