话说当年,为了管理巨量服务器设施,Google开发出了容器管理工具Borg。斗转星移,在吸收日月经验之后,这群工程师打造出新神器:Kubernetes。
出身高贵加开源,Kubernetes 成了最红的容器编排系统,也是最流行的容器化应用发布平台。
有一个问题,我们在实际工作中会遇到:将现有系统和 Kubernetes 进行集成。在这种情况下,我们可以使用 Kubernetes 系统提供的 API 和 SDK 来把 Kubernetes 集成到已有系统中。
如何使用 Go 语言版SDK 来和Kubernetes交互?如何使用 Go SDK 对 Kubernetes 中各类型资源进行管理?今日传授秘籍包含如下招式:
熟悉 Kubernetes 系统的基本架构和常用的资源
熟悉 Kubernetes 基于角色的权限控制(RBAC)
熟悉如何在 Kubernetes 里面发布一个容器应用
熟悉如何完成现代化命令行工具的设计,开发和实现
详细了解 Kubernetes 系统中常用资源的使用方式
详细了解 Kubernetes 系统中应用的升级,回滚和扩容实现
但是,欲练此功,必先....有以下内功基础,否则可能走火入魔:
已备基本 Go 语言项目开发能力
有初步的 Kubernetes 知识
下面跟大家说说秘籍初步心法:
Kubernetes 是一个用来管理跨机器的容器化的应用,提供应用部署、运维、扩展等功能的开源系统。
Kubernetes 本身最核心的内容就是实现应用的跨机器、多实例部署。然后提供一些有效的运维手段,比如:对应用进行扩容,增加实例个数;或缩容,减少实例的个数。比如快到双11,电商系统就需要扩容;过了双11,电商系统就需要缩容。
Kubernetes 的基本架构
在 Kubernetes 的系统架构中,Master 所在的机器是整个系统的大脑,而 Nodes 所在的机器是用来运行具体应用的。Master 中有三个核心的服务,分别为 Kube-APIServer,Kube-Scheduler,Kube-Controller-Manager。而在 Nodes 上主要有两个核心服务,即 Kubelet 和 Kube-Proxy。
招式概览:
第一式 Kubernetes 系统的基本架构和资源
知识点: 1.Kubernetes产生的背景 2.Kubernetes解决的问题 3.Kubernetes的基本架构 4.Kubernetes的基本资源
第二式 Kubernetes 资源管理的权限控制
知识点: 1.Kubernetes内置的的账号管理及特点 2.Kubernetes采用的权限控制模型及模型特点 3.Kubernetes创建新的ServiceAccount 4.Kubernetes通过ServiceAccount控制资源访问
第三式 Kubernetes 中发布容器应用
知识点: 1.熟悉Go应用的编译和镜像构建 2.熟悉Go应用打包好的镜像推送 3.熟悉如何使用YAML配置创建一个Pod 4.熟悉如何使用YAML配置创建一个Service 5.熟悉如何通过Service访问Pod中的应用
第四式 搭建命令行管理工具的基本框架
知识点: 1.熟悉命令行工具开发框架cobra的使用 2.熟悉命令行工具的基本设计和开发方式 3.分析Kubernetes管理工具的基本功能 4.使用cobra搭建命令行工具的基本框架
第五式 开发 Pod 管理的相关功能
知识点: 1.学习Kubernetes中Pod的作用和组成 2.学习如何使用GoSDK来创建Pod对象 3.学习如何使用GoSDK来更新Pod对象 4.学习如何使用GoSDK来获取Pod对象 5.学习如何使用GoSDK来删除Pod对象
第六式 开发 Service 管理的相关功能
知识点: 1.学习Kubernetes中Service的作用和组成 2.学习如何使用GoSDK来创建Service对象 3.学习如何使用GoSDK来更新Service对象 4.学习如何使用GoSDK来获取Service对象 5.学习如何使用GoSDK来删除Service对象
第七式 开发 Ingress 管理的相关功能
知识点: 1.学习Kubernetes中Ingress的作用和组成 2.学习如何使用GoSDK来创建Ingress对象 3.学习如何使用GoSDK来更新Ingress对象 4.学习如何使用GoSDK来获取Ingress对象 5.学习如何使用GoSDK来删除Ingress对象
第八式 开发 Secret 管理的相关功能
知识点: 1.学习Kubernetes中Secret的作用和组成 2.学习如何使用GoSDK来创建Secret对象 3.学习如何使用GoSDK来更新Secret对象 4.学习如何使用GoSDK来获取Secret对象 5.学习如何使用GoSDK来删除Secret对象
第九式 开发 Deployment 管理的相关功能
知识点: 1.学习Kubernetes中Deployment的作用和组成 2.学习如何使用GoSDK来创建Deployment对象 3.学习如何使用GoSDK来更新Deployment对象 4.学习如何使用GoSDK来获取Deployment对象 5.学习如何使用GoSDK来删除Deployment对象
大招 :开发服务的升级和回滚功能
知识点: 1.学习使用Deployment资源完成应用升级 2.学习使用Deployment资源完成应用回滚
此秘籍博大精深,百般变化,想要学习完全版的,请在实验楼PC端网站搜索关键字“Kubernetes”,只有有缘人才能搜到。你也可以点击文末 阅读原文 查看梗概。
若本文对你有帮助
请不吝点击“好看”让朋友也看到
相关推荐
10个精彩Python视频教程整理,10种新技能轻松Get!