LFS258-LAB-Custom Resource Definition

创建crd文件

  1. 创建crd
student@ubuntu:~/crd/new$cat resourcedefinition.yaml 
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  # name must match the spec fields below, and be in the form: .
  name: crontabs.stable.example.com
spec:
  # group name to use for REST API: /apis//
  group: stable.example.com
  # list of versions supported by this CustomResourceDefinition
  versions:
    - name: v1
      # Each version can be enabled/disabled by Served flag.
      served: true
      # One and only one version must be marked as the storage version.
      storage: true
  # either Namespaced or Cluster
  scope: Namespaced
  names:
    # plural name to be used in the URL: /apis///
    plural: crontabs
    # singular name to be used as an alias on the CLI and for display
    singular: crontab
    # kind is normally the CamelCased singular type. Your resource manifests use this.
    kind: CronTab
    # shortNames allow shorter string to match your resource on the CLI
    shortNames:
    - ct

student@ubuntu:~/crd/new$kubectl create -f resourcedefinition.yaml 
customresourcedefinition.apiextensions.k8s.io/crontabs.stable.example.com created

2.查看crd

student@ubuntu:~/crd/new$kubectl get crd
NAME                                          CREATED AT
bgpconfigurations.crd.projectcalico.org       2018-11-28T09:42:52Z
bgppeers.crd.projectcalico.org                2018-11-28T09:42:52Z
clusterinformations.crd.projectcalico.org     2018-11-28T09:42:52Z
crontabs.stable.example.com                   2018-12-07T03:07:33Z

student@ubuntu:~/crd/new$kubectl describe crd crontabs.stable.example.com 
Name:         crontabs.stable.example.com
Namespace:    
Labels:       
Annotations:  
API Version:  apiextensions.k8s.io/v1beta1
Kind:         CustomResourceDefinition
Metadata:
  Creation Timestamp:  2018-12-07T03:07:33Z
  Generation:          1

3.创建crontab

student@ubuntu:~/crd/new$cat my-crontab.yaml 
apiVersion: "stable.example.com/v1"
kind: CronTab
metadata:
  name: my-new-cron-object
spec:
  cronSpec: "* * * * */5"
  image: my-awesome-cron-image


student@ubuntu:~/crd/new$kubectl create -f my-crontab.yaml 
crontab.stable.example.com/my-new-cron-object created

4.查看crontab

student@ubuntu:~/crd/new$kubectl get crontabs.stable.example.com my-new-cron-object 
NAME                 AGE
my-new-cron-object   49s

5.删除crontab

student@ubuntu:~/crd/new$kubectl delete -f my-crontab.yaml 
crontab.stable.example.com "my-new-cron-object" deleted

student@ubuntu:~/crd/new$kubectl get crontabs.stable.example.com 
No resources found.

你可能感兴趣的:(LFS258-LAB-Custom Resource Definition)