新的一期 docker+k8s 课程于11.16日开课,线上、线下同步,详情咨询电话(微信)17812796384
Docker V1 Summary
Docker V1 Summary
Warm UP
- 如何快速安装 LNMP 环境?
- 如何快速做环境需要迁移?
- 如何快速部署百台千台 LNMP 环境?
- 开发、测试、运行环境如何统一?
- 如何提高服务器资源利用率?如果服务混部,如何解决服务依赖各系统组件版本冲突问题?
Docker Basic 20%
- Installing Docker
- Docker Client,Server and Daemon
- Containers lifecycle
- Docker layers and caching
- Docker registry
- Dockerfile
- Docker Building
- Expose and binding ports
通过以上学习,学员可以从0到1了解Docker,包括Docker的架构、Docker的运行机制、生命周期以及Docker镜像等,从安
装到运行,以及日常工作中常用的基本的操作,可以达到Docker入门级别
Docker Digging Deeper 30%
- Docker Compose
- Docker Storage Driver
- Docker Application Data Managerment
- Docker Networking model
- Docker Cgroups and Namespace
- Docker Security
- Docker Garbage Collection
Docker LXCFS通过以上深入学习,学员们可以深度掌握 Docker 技术内幕,比如:Storage Driver、网络模型、隔离和资源限制以及安全等,这会对以后工作中,解决相关问题时打下非常好的基础,
Docker CI/CD 25%
- Docker Harbor
- Jeckins
- Gitlab
- Project exercise with CI/CD
通过对上述的学习, 学员们可以了解到如何在企业内部应用 Docker 技术,通过做一个 CI/CD 的 Demo,让学员们能够掌
握什么是 CI/CD,Docker 技术在企业的落地也就是从这里开始的,所以,本章节的重要程度不言而喻,掌握了它,就可以
达到企业级 Docker 应用工程师级别;
Docker For Ops 25%
- Docker Monitors
- Debugging Running containers
通过对上述的学习,以及在学习过程中一起踩过的坑,学员们可以进一步掌握Docker技术运用技能,当企业的业务无论是
已经进行了容器化还是在容器化的路上,对于 Docker 容器化运维技术和调试技术的要求也是随之更加强烈,所以,掌握了
它,才能说真正的达到了docker工程师级别。
- 某业务采用 Nginx 作为服务器,在申请容器时,配置是两核 CPU,ngxin 并发配置:nginx worker_processes=auto,但是运行过程中应用的是宿主机的全部 CPU 核数,为什么?如何处理?
reference
Kubernetes V1 Summary
Kubernetes Introduction
- What is Kubernetes?
- Kubernetes Basic Architecture
- Master Components
- etcd
- kubeapiserver
- kubescheduler
- kubeControllerManager
- Node Components
- kubelet
- kubeproxy
- Container Runtime
- Fast Install K8S Cluster
- kubectl
通过上面的学习,可以了解到为什么需要使用 Kubernetes ?结合 Kubernetes 的架构,学习到各核心组件的工作机制,
包括:Master Components 和 Node Components;最后让我们快速安装一个 K8S Cluster,达到入门级效果,为下一步
深入学习 K8S 奠定基础;
Kubernetes Concepts and Operations
- k8s Node and labels
- The smallest deployable object pod
- Defining a Deployment
- Defining a Statefulset
因为 Kubernetes 是一套容器编排、管理和调度系统,那么通过上面的学习,可以掌握 Kubernetes 在的
内部是如何管理和调度容器的;另外,为什么要把容器封装到 pod 里?为什么需要 Deployment 和
Statefulset?Deployment 和 Statefulset 有什么区别?分别应用于哪种场景?至此,对于 K8S 已经具备
了一定的认识,下一步是如何与服务建立联系,并且对外发布服务;
PERSISTENCE & STORAGE
- Managing stateful applications
- HostPath
- Persistent volume
- Persistent volume claim
- Dynamic provisioning
- Managing configurations
- Managing secrets
通过上述学习, 学员可以掌握 k8s 为了支持有状态服务以及在数据存储方面所做的技术实现,本阶段我们将结合开源存储
系统 Ceph 进行项目练习;让学员可以深刻掌握 k8s 在数据存储方面的技术实践;
Kubernetes Service、 Load Balancing and Networking
- Services
- kubeproxy
- Endpoints
- Ingress
本章节主要讲解了 Kubernetes Service、LB 和 Networking,其目的就是为了让大家能够快速的进入自己的角色,因为我
们前面做的一切工作,都是为了让我们的服务能够顺利的对外发布,那么至此,我们的第一目标达到了;但是,距离达到
企业生产线上的服务要求标准还差的很远,这也是我们下一步要学习的;留下思考:企业生产线上的服务运行时要求标准
都有哪些?该如何适配? 提示:为了能够在企业对k8s技术进行落地,需要从如下几个方面进行考量,包括 Overlay 网络
能否满足需求、数据存储能否满足需求、业务部署在 k8s 平台之后,如何发布更新?如何保障服务稳定性?业务日志如何
采集和管理?监控能否做到位,k8s 平台自身的可用性和稳定性如何保证等等。
Cluster Network
- ovs
- flannel
- contiv
- macVlan
- calico
通过上述的学习,学员可以掌握几种网络技术的工作原理,以及 CNI 的工作原理,并根据企业内部的技术积累和当前网络
拓扑情况,应该如何做技术选型;
DEPLOYMENT
- Rolling updates
- Deployment history & rollbacks
- Selectors and labelsCanary deployments
- Bluegreen deployments
通过上述学习, 学员可以掌握k8s在支持部署方面所做的技术实现,本章节可以让学员们了解多种部署模式;方便日后在
企业中可以根据企业内部情况进行部署技术的选型。
Logging architecture
- sidecar container
- filebeat logs collection
业务迁移到 k8s 平台之后,业务的日志采集和处理是一个非常关键和棘手的问题,本章节通过两种比较常用的日志收集手
段,向学员们展示如何做日志收集,以及采集过程中需要注意哪些问题;
ADVANCED SCHEDULING
- Scheduler architecture
- Predicated and priorities
- Attaching pods to nodes
- Node affinity/antiaffinity
- Pod affinity/antiaffinity
- Taints and tolerations
- Custom scheduler
本章节会介绍在企业中常用的高级调度策略,比如如何修改预选,如何指定 node 调度 pod,如何打散 pod 调度,如何创
建独立集群,以及如何自定义调度器等等,掌握这些技术之后,基本满足企业级容器调度要求了;至此,为了让业务迁入
k8s平台,功能上已经达到了满足;
K8S For OPS
- Authentication
- Authorization
- Resource metrics API
- Custom resource metrics
- Apiserver access limits
- kubectl access limits
- RBAC
- Admission controllers
- Security contexts
- Pod Security PoliciesDebugging pods
- Monitor
K8S For OPS 放到了最后,说明其重要性,本章节将重点介绍如何运维 k8s 集群,如何调试业务容器和 debug 集群,如
何限制 apiserver 的访问,监控的重要性更不言而喻了