创建crd文件
- 创建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: <plural>.<group>
name: crontabs.stable.example.com
spec:
# group name to use for REST API: /apis/<group>/<version>
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/<group>/<version>/<plural>
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: <none>
Annotations: <none>
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.