Skip to main content

16 容器化和自动化运维

Docker

入门学习

  • Docker Overview,Docker 的官方介绍
  • Katacoda Docker Playground 或 Play With Docker,Web 在线的 Playground
  • Learn Docker 教程指导安装 Docker 的环境
  • Docker Curriculum 超详细的教程玩一下 Docker
  • Docker Documentation 官方文档

了解一下 Docker 的底层技术细节

  • Docker 基础技术:Linux Namespace(上)
  • Docker 基础技术:Linux Namespace(下)
  • Docker 基础技术:Cgroup
  • Docker 基础技术:AUFS
  • Docker 基础技术:DeviceMapper

与 Docker 网络有关的文章可以阅读及实践

  • A container networking overview

  • Docker networking 101 - User defined networks

  • Understanding CNI (Container Networking Interface)

  • Using CNI with Docker

  • Calico 、Flannel 和 Weave, Docker 的几种网络解决方案

  • netshoot,用来诊断 Docker 网络问题的工具集

容器网络解决方案的性能对比

  • Battlefield: Calico, Flannel, Weave and Docker Overlay Network
  • Comparison of Networking Solutions for Kubernetes
  • Docker Overlay Networks: Performance analysis in high-latency enviroments

Docker 的性能分析

  • IBM Research Report: An Updated Performance Comparison of Virtual Machines and Linux Containers
  • An Introduction to Docker and Analysis of its Performance

存储相关

  • Storage Concepts in Docker: Network and Cloud Storage
  • Storage Concepts in Docker: Persistent Storage
  • Storage Concepts in Docker: Shared Storage and the VOLUME directive

运维相关

  • Docker Monitoring with the ELK Stack: A Step-by-Step Guide

Valuable Docker Links, 收集并罗列了一系列非常不错的 Docker 文章

最佳实践

  • Best Practices for Dockerfile ,Docker 官方文档里的 Dockerfile 的最佳实践
  • Docker Best Practices ,存在于各个地方的使用 Docker 的建议和实践
  • Container Best Practices ,一个介绍容器化应用程序的架构、创建和管理的协作型文档项目
  • Eight Docker Development Patterns ,八个 Docker 的开发模式:共享基础容器、共享同一个卷的多个开发容器、开发工具专用容器、测试环境容器、编译构建容器、防手误的安装容器、默认服务容器、胶黏容器

Kubernetes

Kubernetes 是 Google 开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本

主要功能

  • 基于容器的应用部署、维护和滚动升级;
  • 负载均衡和服务发现;
  • 跨机器和跨地区的集群调度;
  • 自动伸缩;
  • 无状态服务和有状态服务;
  • 广泛的 Volume 支持;
  • 插件机制保证扩展性。

入门学习

  • Borg, Omega, and Kubernetes ,Google 从这三个容器管理系统中得到的经验教训
  • 《Kubernetes Handbook》,这本书记录了作者从零开始学习和使用 Kubernetes 的心路历程,着重于经验分享和总结,同时也会有相关的概念解析。希望能够帮助你少踩坑,少走弯路,还会指引你关注 kubernetes 生态周边,如微服务构建、DevOps、大数据应用、Service Mesh、Cloud Native 等领域
  • 《Kubernetes 指南》,整理平时在开发和使用 Kubernetes 时的参考指南和实践总结,一个系统化的参考指南以方便查阅
  • 《Kubernetes in Action》,一本很完美的教科书
  • Kubernetes.io,官方网站,有全面的文档 ,也包括一个很不错的 官方教程 。

交互式教程

  • Katacoda
  • Kubernetes Bootcamp

推荐文章

  • Kubernetes tips & tricks
  • Achieving CI/CD with Kubernetes
  • How to Set Up Scalable Jenkins on Top of a Kubernetes Cluster
  • 10 Most Common Reasons Kubernetes Deployments Fail Part I 和 Part II
  • How to Monitor Kubernetes
  • Logging in Kubernetes with Fluentd and Elasticsearch
  • Kubernetes Monitoring: Best Practices, Methods, and Existing Solutions

网络相关

  • Kubernetes 101 - Networking
  • Kubernetes networking 101 - Pods
  • Kubernetes networking 101 - Services
  • Kubernetes networking 101 - (Basic) External access into the cluster
  • Kubernetes Networking 101 - Ingress resources
  • Getting started with Calico on Kubernetes

CI/CD 相关

  • Automated Image Builds with Jenkins, Packer, and Kubernetes
  • Jenkins setups for Kubernetes and Docker Workflow
  • Lab: Build a Continuous Deployment Pipeline with Jenkins and Kubernetes

最佳实践

Kubernetes Best Practices by Sachin Arote ,AWS 工程师总结的最佳实践

Kubernetes Best Practices by Sandeep Dinesh ,Google 云平台工程师总结的最佳实践

Docker 和 Kubernetes 资源汇总

  • Awesome Docker
  • Awesome Kubernetes
  • The New Stack eBook Series ,非常完整和详实的 Docker 和 Kubernetes 生态圈的所有东西
    • Book 01: The Docker Container Ecosystem
    • Book 02: Applications & Microservices with Docker & Containers
    • Book 03: Automation & Orchestration with Docker & Containers
    • Book 04: Network, Security & Storage with Docker & Containers
    • Book 05: Monitoring & Management with Docker & Containers
    • Book 06: Use Cases for Kubernetes
    • Book 07: State of the Kubernetes Ecosystem
    • Book 08: Kubernetes Deployment & Security Patterns
    • Book 09: CI/CD with Kubernetes
    • Book 10: Kubernetes solutions Directory
    • Book 11: Guid to Cloud-Native Microservices