k8s核心技术
kubectl
语法格式
kubectl [command] [TYPE] [NAME] [flags]
帮助命令
kubectl --help
经常使用的命令
shell
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc资源编排yaml文件
k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也 就是可以把需要对资源对象操作编辑到YAML格式文件中,我们把这种文件叫做资源清单文 件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。
语法格式
通过缩进表示层级关系
不能使用Tab进行缩进,只能使用空格
一般开头缩进两个空格
字符后缩进一个空格,比如冒号,逗号等后面
使用---表示新的yaml文件开始
使用#代表注释
组成部分
- 控制器
- 被控制对象
模版
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: web
name: web
spec:
replicas: 1
selector:
matchLabels:
app: web
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: web
spec:
containers:
- image: nginx
name: nginx
resources: {}
status: {}| 层级结构 | 说明 |
|---|---|
| apiVersion | API版本 |
| kind | 资源类型 |
| metadata | 资源元数据 |
| spec | 资源规格 |
| spec.replicas | 副本数量 |
| spec.selector | 标签选择器 |
| spec.template | Pod模板 |
| spec.template.metadata | Pod元数据 |
| spec.template.spec | Pod规格 |
| spec.template.spec.containers | 容器配置 |
快速创建模版命令
只创建但不运行的方式
kubectl create deployment web --image=nginx -o yaml --dry-run=client > my1.yaml
直接读取当前已经部署的
kubectl get deploy nginx -o=yaml > my2.yaml