Kubernetes

GCP原生K8S工作坊
这是一个简单有趣的Kubernetes工作坊。专为喜欢探索、喜欢动手和独立思考的人而准备。
我们会有一个简单的Web应用程序,和一个数据库,应用程序会写入数据库一些数据。我们的目标是用K8S将这些服务按产品环境的要求,以高可用,分布式的方式部署到不同的数据中心。
我们不需要提前刻意去学习Docker、GCP、K8S等相关知识,因为我们相信,你一定可以在规定的时间里,通过不断学习,达到目标。也可以在这个过程中,让我们多加一些元素,让这个过程变得更加有趣 - 鼓励大家加入DevOps/自动化/快速反馈的思考和实践。
我们的工作坊将会涉及到的知识点:
  • Docker - 容器化
  • Kubernetes
  • Google Cloud Platform
  • Infrastructure as Code
  • Scaling
  • Rolling updated / rolling back
  • Distributed secret storage by K8S
需要提前准备的环境
  • 一个简单的Web应用服务,依赖于Redis数据库 - 代码库
  • Google Cloud Project - SDK - 目前有第一年前300美金免费的优惠,刚好可以申请一个
    • 注意:使用GCP的功能前,需要保证你已开启相关服务的API
      • Google Compute Engine - API
      • Google Container Engine - API
      • Google Container Registry - API
  • docker & docker-compose 命令行
  • kubectl 命令行安装
  • Terraform
  • 全景图 - 仅供参考,可以完全按自己的思路来实现和组织
规则说明
  • 全过程中不允许使用GUI,页面进行操作,所有和变更和修改都需要通过命令行来实现,这是为了更好的模拟实际生产过程中的使用场景,如CI/CD
  • 全过程中不允许进入服务器,并直接在服务中直接操作,如ssh登陆到GCP服务器,并在上面查看日志或重启服务,因为在生产环境中,是不会有这样的操作的
步骤
进阶
如果我们还有时间,建议可以思考和实践一下在我们待办列表里的任务
  • 自定义域名
  • 集成云端数据库
  • 集群本身的管理,如命名空间管理,升级管理等
  • 自定义网络
  • 自定义k8s组件
  • Helm的定位
  • ...