内容正文:
课程名称
第12章 Kubernetes基础操作
计划学时
4学时
内容分析
本章主要介绍Kubectl命令行工具解析、Pod控制器与Service、Volume存储
教学目标
与
教学要求
要求学生了解Kubernetes集群的命令行管理工具、掌握Kubectl命令行工具的基本格式和使用方法、理解YAML格式中各参数的含义、熟悉使用YAML文件创建自定义配置文件
教学重点
Kubectl命令行工具解析、Pod控制器与Service、Volume存储
教学难点
Pod控制器与Service、Volume存储
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(Kubectl命令行工具解析、Pod控制器与Service)
回顾内容
1.介绍本书,引出本课时的主题
Kubectl是一个用于操作Kubernetes集群的命令行接口,利用Kubectl工具可以在集群中实现各种功能。Kubectl作为客户端工具,其功能和Systemctl工具很相似,用户可以通过指令实现对Kubernetes集群中资源对象的基础操作。本章将详细介绍Kubectl工具的各种参数和使用场景。
2.明确学习目标
(1) 能够了解Kubectl命令行工具
(2) 能够掌握Kubectl参数
(3) 能够掌握Kubectl操作举例
(4) 能够掌握Pod的创建与管理
(5) 能够掌握plicaSet控制器
(6) 能够掌握Deployment控制器
知识讲解
· Kubectl命令行工具
Kubectl命令行工具主要有四部分参数,其基本语法格式如下:
语句中各部分参数的含义如下。
[command]
子命令,用于Kubernetes集群中的资源对象,如create、delete、get、apply等。
[type]
资源对象类型,此参数区分大小写且能以单、复数的形式表示,如pod、pods。
[name]
资源对象的名称。此参数区分大小写。如果在命令中不指定该参数,系统将返回对象类型的全部type列表。例如,命令“kubectl get pods”和“kubectl get pod nginx-test1”,前者将会显示所有的Pod,后者只显示name为nginx-test1的Pod。
[flags]
kubectl子命令的可选参数。如“-l”或者“--labels”表示为Pod对象设定自定义的标签。
· Kubectl参数
下面详细介绍Kubectl命令行工具中各参数的详细用法。
1. 子命令
Kubectl的子命令非常丰富,可以实现对Kubernetes集群中资源对象的创建、删除、查看、修改、配置、运行等操作。常见的子命令和说明如表所示。
2. 资源对象类型和资源对象名称
常用的资源对象类型和简写如表所示。
资源对象类型
简写
Pods
po
Jobs
event
ev
secrets
services
svc
endpoints
ep
limitranges
limits
configmaps
cm
namespace
ns
deployments
deploy
storageclasses
sc
persistentvolumes
pv
componentstatuses
cs
persistentvolumeclaims
pvc
replicationcontrollers
rc
3.格式化输出选项
Kubectl的默认输出格式是可读的纯文本格式,如果要以特定格式将详细信息输出到终端窗口,则可以将-o或--output参数添加到命令中,语句格式如下:
根据不同的选项,Kubectl支持的输出格式如表所示。
输出格式
描述
-o custom-columns=<spec>
使用逗号分隔的列表打印表
-o custom-columns-file=<filename>
使用文件中的模板打印表<filename>
-o json
输出JSON格式的API对象
-o jsonpath=<template>
打印在表达式中定义的字段
-o jsonpath-file=<filename>
打印文件中表达式定义的字段<filename>
-o name
仅打印资源名称,而不打印其他任何内容
-o wide
以纯文本格式输出,并带有任何其他信息。对于吊舱,包括节点名称
-o yaml
输出Yaml格式的API对象
4.对输出进行排序
在生产环境中如果需要对输出对象进行排序操作,可以在kubectl命令中使用--sort-by参数。通过使用--sort-by参数指定任何数字或字符串字段来对对象进行排序,其中字段可以使用js