14.pdf

  • 文件大小: 2.01MB
  • 文件类型: pdf
  • 上传日期: 2025-10-22
  • 下载次数: 0

概要信息:

从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
从Docker到Kubernetes 第14周 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
法律声明 
【声明】本视频和幻灯片为炼数成金网络课程的教学资料
,所有资料只能在课程内使用,不得在课程以外范围散
播,违者将可能被追究法律和经济责任。 
课程详情访问炼数成金培训网站 
http://edu.dataguru.cn 
 
 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
第十四课 Kubernetes API与源码入门 
• Kubernetes API入门 
• Kubernetes 源码入门 
• Ku8 eye开源项目 
 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes API入门 
Kubernetes API 
get 
put 
patch 
GET /watch 
HTTP Redirect 
HTTP Proxy 
API Server 
Kubernetes Rest API的接口形式 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes API入门 
资源类型 方    法 URL Path 说    明 备    注 
NODES 
GET /api/v1/nodes 获取Node列表   
POST /api/v1/nodes 创建一个Node对象   
DELETE /api/v1/nodes/{name} 删除一个Node对象   
GET /api/v1/nodes/{name} 获取一个Node对象   
PATCH /api/v1/nodes/{name} 部分更新一个Node对象   
PUT /api/v1/nodes/{name} 替换一个Node对象   
  
NAMESPACES 
GET /api/v1/namespaces 获得Namespace列表   
POST /api/v1/namespaces 创建一个Namespace对象   
DELETE /api/v1/namespaces/{name} 删除一个Namespace对象   
GET /api/v1/namespaces/{name} 获取一个Namespace对象   
PATCH /api/v1/namespaces/{name} 部分更新一个Namespace对象   
PUT /api/v1/namespaces/{name} 替换一个Namespace对象   
PUT 
/api/v1/namespaces/{name}/finaliz
e 
替换一个Namespace对象的最终方案对
象 
在 Fabric8 中 没
有实现 
PUT /api/v1/namespaces/{name}/status 替换一个Namespace对象的状态 
在 Fabric8 中 没
有实现 
Kubernetes Rest API汇总 (一) 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes API入门 
SERVICES 
GET /api/v1/services 获取Service列表   
POST /api/v1/services 创建一个Service对象   
  GET 
/api/v1/namespaces/{nam
espace}/services 
获取某个 Namespace 下的
Service列表 
  
资源类型 方    法 URL Path 说    明 备    注 
SERVICES 
  
  
GET /api/v1/services 获取Service列表   
POST /api/v1/services 创建一个Service对象   
GET /api/v1/namespaces/{namespace}/services 获取某个Namespace下的Service列表   
POST 
/api/v1/namespaces/{namespace}/servic
es 
在某个Namespace下创建列表   
DELETE 
/api/v1/namespaces/{namespace}/servic
es/{name} 
删除某个Namespace的一个Service对象   
GET 
/api/v1/namespaces/{namespace}/servic
es/{name} 
获取某个Namespace下的一个Service对象   
PATCH 
/api/v1/namespaces/{namespace}/servic
es/{name} 
部分更新某个Namespace下的一个Service
对象 
  
PUT 
/api/v1/names aces/{namespace}/se ic
es/{name} 
替换某个Namespace下的一个Service对象   
  
REPLICATIONCONT
ROLLERS 
GET /api/v1/replicationcontrollers 获取RC列表   
POST /api/v1/replicationcontrollers 创建一个RC对象   
GET 
/api/v1/namespaces/{namespace}/replic
ationcontrollers 
获取某个Namespace下的RC列表   
POST 
/api/v1/namespaces/{namespace}/replic
ationcontrollers 
在某个Namespace下创建一个RC对象   
DELETE 
/api/v1/namespaces/{namespace}/replic
ationcontrollers/{name} 
删除某个Namespace下的RC对象   
GET 
/api/v1/namespaces/{namespace}/replic
ationcontrollers/{name} 
获取某个Namespace下的RC对象   
PATCH 
/api/v1/namespaces/{namespace}/replic
ationcontrollers/{name} 
部分更新某个Namespace下的RC对象   
PUT 
/api/v1/namespaces/{namespace}/replic
ationcontrollers/{name} 
替换某个Namespace下的RC对象   
Kubernetes Rest API汇总 (二) 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes API入门 
Swagger-UI查看API说明 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes API入门 
Swagger-UI查看API说明 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
源码主要在pkg目录下 
cmd目录下是k8s各个进程的启动进程源码 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
kube-apiserver进程的入口类名源码位置如下: 
github/com/GoogleCloudPlatform/kubernetes/cmd/kube-apiserver/apiserver.go 
入口main()函数的逻辑如下: 
func main() { 
    runtime.GOMAXPROCS(runtime.NumCPU()) 
    rand.Seed(time.Now().UTC().UnixNano()) 
    s := app.NewAPIServer() 
    s.AddFlags(pflag.CommandLine) 
    util.InitFlags() 
    util.InitLogs() 
    defer util.FlushLogs() 
    verflag.PrintAndExitIfRequested() 
 
    if err := s.Run(pflag.CommandLine.Args()); err != nil { 
        fmt.Fprintf(os.Stderr, "%v\n", err) 
        os.Exit(1) 
    } 
} 
上述代码核心为下面三行,创建一个APIServer结构体并将
命令行启动参数传入,最后启动监听: 
s := app.NewAPIServer() 
s.AddFlags(pflag.CommandLine) 
s.Run(pflag.CommandLine.Args()) 
API Server 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
kube-apiserver进程的启动过程进行了详细分析,我们发现Kubernetes API Service的关键代码就隐藏在
pkg\master\master.go里,APIServer这个结构体只不过是一个参数传递通道而已,它的数据最终传给了
pkg/master/master.go里的Master结构体 
Rest server相关类,采用了go-restful框架设计 
权限以及准入控制 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
Controller 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Kubernetes 源码入门 
多数都用了
Controller 
Framework 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
为什么会有Ku8 eye开源项目 
Kubernetes安装配置
不简单 
Kubernetes还只有容
易出错的命令行操作 
作为一个分布式平台,
目前没有标准的
“Application”概念 
不容易推广使用 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
https://github.com/bestcloud/ku8eye 
Github使用说明,史上最完整的操作文档,建议参与开源的同学都能熟练流程 
设计文档、用户手册、安装文档等 
md文档中所引用的图片资源 
源码工程 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
Ku8eye-web采用spring-boot +bootstrap admin模板 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
Ku8eye-web ku8eye-ansible 
ansible 
图形化方式一键自
动安装kubernetes
集群 
Docker镜像 
目标物理机 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
Application管理及
可视化定义 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
资源分区及配额管理 
从Docker到Kubernetes之技术实战    讲师 Leader-us 
DATAGURU专业数据分析社区 
Ku8 eye开源项目 
丰富的统计图表 
DATAGURU专业数据分析网站 
FAQ时间

缩略图:

  • 缩略图1
  • 缩略图2
  • 缩略图3
  • 缩略图4
  • 缩略图5
当前页面二维码

广告: