(2023版)一套教程搞定k8s安装到实战 | Kubernetes学习路线

发布时间 2023-03-22 21:16:10作者: 张Sir6

视频来源:B站《(2022版)最新、最全、最详细的Kubernetes(K8s)教程,从K8s安装到实战一套搞定》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

 


K8s全栈架构师学习路线

安装篇

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基本命令上

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&Secret使用SubPath

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集群

Kafka和Zookeeper集群扩容缩容

运维篇

K8s容器日志收集

EFK日志收集

使用Filebeat收集容器内日志

使用不同资源名称查询日志

Prometheus监控入门

Prometheus安装

Prometheus Metrics类型

PromQL基本操作

PromQL常用函数

解决Scheduler监控问题

Prometheus监控etcd集群

Prometheus Exporter

Prometheus黑盒监控

Prometheus 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监控

k8s 1.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容器化原理及生产建议

容器化SpringCloud项目说明

SpringCloud架构解析

如何在k8s上正确部署Eureka

到底要不要用Eureka

如何正确部署Zuul和ConfigServer到k8s

SpringCloud项目总结

知识拓展

二进制集群升级

二进制Kubernetes升级说明

二进制Etcd集群升级

二进制Kubernetes升级说明

二进制Kubernetes升级Master组件

二进制Kubernetes升级Node和Calico

二进制Kubernetes升级CoreDNS