传统部署 vs 容器化部署,为什么选择Docker,课程目标与前置知识。
Docker对比
安装Docker、Docker Compose、Node.js环境,配置国内镜像源。
安装镜像源
创建Express应用,编写Dockerfile,构建镜像并运行容器。
ExpressDockerfile
多阶段构建、减少镜像层数、使用.dockerignore、安全注意事项。
多阶段安全
编写docker-compose.yml,定义服务、网络、卷,启动多容器应用。
Compose多容器
配置PostgreSQL/MySQL容器,Node.js连接数据库,数据持久化。
PostgreSQLMySQL
使用.env文件,Docker环境变量传递,配置中心方案。
.env配置中心
Node.js日志最佳实践(winston/pino),Docker日志驱动,集中式日志收集(ELK)。
winstonELK
Docker HEALTHCHECK,Node.js健康检查端点,重启策略配置。
HEALTHCHECK重启
Nginx配置,负载均衡策略,SSL/TLS终止,WebSocket支持。
NginxSSL
使用Docker Compose scale,多实例部署,无状态应用设计原则。
scale无状态
GitHub Actions/GitLab CI配置,自动构建镜像,推送到镜像仓库,自动部署。
GitHub ActionsGitLab CI
Docker Hub、阿里云ACR、Harbor私有仓库,镜像标签策略,清理策略。
HarborACR
K8s核心概念(Pod、Service、Deployment),minikube/k3s本地集群搭建。
Podminikube
编写Deployment和Service YAML,滚动更新,回滚操作。
Deployment滚动更新
ConfigMap和Secret,挂载配置到Pod,热更新配置。
ConfigMapSecret
PersistentVolume和PersistentVolumeClaim,StatefulSet用于有状态应用。
PV/PVCStatefulSet
Service类型(ClusterIP、NodePort、LoadBalancer),Ingress控制器。
ServiceIngress
Metrics Server,Prometheus + Grafana监控Node.js应用,自定义指标。
PrometheusGrafana
EFK/PLG栈,Fluentd/Fluent Bit采集日志,日志查询与分析。
EFKFluentd
HPA(水平Pod自动伸缩),VPA(垂直Pod自动伸缩),Cluster Autoscaler。
HPAVPA
RBAC权限控制,Pod安全策略,网络策略,镜像安全扫描。
RBAC安全扫描
Helm安装,Chart结构,编写Node.js Chart,部署与升级。
HelmChart
Istio架构,流量管理,可观测性,安全策略。
Istio流量管理
Kubernetes原生策略,Argo Rollouts,Nginx流量切分。
Argo蓝绿
Node.js应用性能调优,Docker资源限制,Kubernetes资源请求与限制。
调优资源限制
常见Docker问题,Kubernetes Pod排错,网络问题诊断,性能瓶颈定位。
排错诊断
数据库备份策略,Kubernetes资源备份(Velero),恢复演练。
Velero备份
高可用架构设计,监控告警体系,容量规划,成本优化。
高可用成本优化
知识体系回顾,学习路径推荐,云原生发展趋势,认证考试建议。
云原生认证