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 命令行

  • 全景图 - 仅供参考,可以完全按自己的思路来实现和组织

规则说明

  • 全过程中不允许使用GUI,页面进行操作,所有和变更和修改都需要通过命令行来实现,这是为了更好的模拟实际生产过程中的使用场景,如CI/CD

  • 全过程中不允许进入服务器,并直接在服务中直接操作,如ssh登陆到GCP服务器,并在上面查看日志或重启服务,因为在生产环境中,是不会有这样的操作的

步骤

进阶

如果我们还有时间,建议可以思考和实践一下在我们待办列表里的任务

  • 自定义域名

  • 集成云端数据库

  • 集群本身的管理,如命名空间管理,升级管理等

  • 自定义网络

  • 自定义k8s组件

  • Helm的定位

  • ...

最后更新于