Skip to content

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文件开始

使用#代表注释

组成部分

  1. 控制器
  2. 被控制对象

模版

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: {}
层级结构说明
apiVersionAPI版本
kind资源类型
metadata资源元数据
spec资源规格
spec.replicas副本数量
spec.selector标签选择器
spec.templatePod模板
spec.template.metadataPod元数据
spec.template.specPod规格
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

Pod

Released under the MIT License.