Welcome to the Linux Foundation Forum!

Lab 13.1 - Unable to get the short name 'ct' in step 5

sdalziel
sdalziel Posts: 17
edited May 2018 in LFS258 Class Forum

As stated in the subject, I'm working through excersice 13.1 and on step 5.

"5. Create the new object and view he resource using short and long name."

I have been successful in previous steps to show both the long and short names. Step 3 worked without issue.

I am receive data back when I use the long name "CronTab".

Please advise,

 

$ kubectl get crd

NAME                           AGE

crontabs.training.lfs258.com   25m

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$

$

$ kubectl describe crd

Name:         crontabs.training.lfs258.com

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  apiextensions.k8s.io/v1beta1

Kind:         CustomResourceDefinition

Metadata:

  Creation Timestamp:  2018-05-26T17:47:43Z

  Generation:          1

  Resource Version:    1343830

  Self Link:           /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/crontabs.training.lfs258.com

  UID:                 e470d8c3-610c-11e8-a61b-06901a6654e2

Spec:

  Group:  training.lfs258.com

  Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Scope:        Cluster

  Version:      v1

Status:

  Accepted Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Conditions:

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               no conflicts found

    Reason:                NoConflicts

    Status:                True

    Type:                  NamesAccepted

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               the initial names have been accepted

    Reason:                InitialNamesAccepted

    Status:                True

    Type:                  Established

Events:                    <none>

$ kubectl create -f new-crontab.yaml

Error from server (AlreadyExists): error when creating "new-crontab.yaml": crontabs.training.lfs258.com "new-cron-object" already exists

$

$ kubectl get CronTab

NAME              AGE

new-cron-object   22m

$ kubectl describe CronTab

Name:         new-cron-object

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  training.lfs258.com/v1

Kind:         CronTab

Metadata:

  Cluster Name:

  Creation Timestamp:  2018-05-26T17:52:48Z

  Resource Version:    1344196

  Self Link:           /apis/training.lfs258.com/v1/new-cron-object

  UID:                 9a18bcac-610d-11e8-a61b-06901a6654e2

Spec:

  Cron Spec:  */5 * * * *

  Image:      some-cron-image

Events:       <none>

$

$

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$

$

$ kubetl get nct

kubetl: command not found

$ kubectl get nct

error: the server doesn't have a resource type "nct"

$ kubectl delete -f new-crontab.yaml

crontab.training.lfs258.com "new-cron-object" deleted

$

$

$ kubectl get CronTab

No resources found.

$ kubectl describe CronTab

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$ kubectl get crd

NAME                           AGE

crontabs.training.lfs258.com   29m

$ kubectl describe crd

Name:         crontabs.training.lfs258.com

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  apiextensions.k8s.io/v1beta1

Kind:         CustomResourceDefinition

Metadata:

  Creation Timestamp:  2018-05-26T17:47:43Z

  Generation:          1

  Resource Version:    1343830

  Self Link:           /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/crontabs.training.lfs258.com

  UID:                 e470d8c3-610c-11e8-a61b-06901a6654e2

Spec:

  Group:  training.lfs258.com

  Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Scope:        Cluster

  Version:      v1

Status:

  Accepted Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Conditions:

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               no conflicts found

    Reason:                NoConflicts

    Status:                True

    Type:                  NamesAccepted

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               the initial names have been accepted

    Reason:                InitialNamesAccepted

    Status:                True

    Type:                  Established

Events:                    <none>

$

$

$ vim new-crontab.yaml

$

$

$ kubectl create -f new-crontab.yaml

error: unable to recognize "new-crontab.yaml": no matches for kind "CronTab" in version "training.lfs458.com/v1"

$ vim new-crontab.yaml

$

$

$ kubectl create -f new-crontab.yaml

crontab.training.lfs258.com "new-cron-object" created

$

$

$ kubectl get CronTab

NAME              AGE

new-cron-object   11s

$

$

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$ kubectl describe ct

error: the server doesn't have a resource type "ct"

Sean

==Output==

$ kubectl get crd

NAME                           AGE

crontabs.training.lfs258.com   25m

$

$

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$

$

$ kubectl describe crd

Name:         crontabs.training.lfs258.com

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  apiextensions.k8s.io/v1beta1

Kind:         CustomResourceDefinition

Metadata:

  Creation Timestamp:  2018-05-26T17:47:43Z

  Generation:          1

  Resource Version:    1343830

  Self Link:           /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/crontabs.training.lfs258.com

  UID:                 e470d8c3-610c-11e8-a61b-06901a6654e2

Spec:

  Group:  training.lfs258.com

  Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Scope:        Cluster

  Version:      v1

Status:

  Accepted Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Conditions:

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               no conflicts found

    Reason:                NoConflicts

    Status:                True

    Type:                  NamesAccepted

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               the initial names have been accepted

    Reason:                InitialNamesAccepted

    Status:                True

    Type:                  Established

Events:                    <none>

$ kubectl create -f new-crontab.yaml

Error from server (AlreadyExists): error when creating "new-crontab.yaml": crontabs.training.lfs258.com "new-cron-object" already exists

$

$ kubectl get CronTab

NAME              AGE

new-cron-object   22m

$ kubectl describe CronTab

Name:         new-cron-object

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  training.lfs258.com/v1

Kind:         CronTab

Metadata:

  Cluster Name:

  Creation Timestamp:  2018-05-26T17:52:48Z

  Resource Version:    1344196

  Self Link:           /apis/training.lfs258.com/v1/new-cron-object

  UID:                 9a18bcac-610d-11e8-a61b-06901a6654e2

Spec:

  Cron Spec:  */5 * * * *

  Image:      some-cron-image

Events:       <none>

$

$

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$

$

$ kubetl get nct

kubetl: command not found

$ kubectl get nct

error: the server doesn't have a resource type "nct"

$ kubectl delete -f new-crontab.yaml

crontab.training.lfs258.com "new-cron-object" deleted

$

$

$ kubectl get CronTab

No resources found.

$

$

$

$ kubectl describe CronTab

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$ kubectl get crd

NAME                           AGE

crontabs.training.lfs258.com   29m

$ kubectl describe crd

Name:         crontabs.training.lfs258.com

Namespace:

Labels:       <none>

Annotations:  <none>

API Version:  apiextensions.k8s.io/v1beta1

Kind:         CustomResourceDefinition

Metadata:

  Creation Timestamp:  2018-05-26T17:47:43Z

  Generation:          1

  Resource Version:    1343830

  Self Link:           /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/crontabs.training.lfs258.com

  UID:                 e470d8c3-610c-11e8-a61b-06901a6654e2

Spec:

  Group:  training.lfs258.com

  Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Scope:        Cluster

  Version:      v1

Status:

  Accepted Names:

    Kind:       CronTab

    List Kind:  CronTabList

    Plural:     crontabs

    Singular:   crontab

  Conditions:

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               no conflicts found

    Reason:                NoConflicts

    Status:                True

    Type:                  NamesAccepted

    Last Transition Time:  2018-05-26T17:47:43Z

    Message:               the initial names have been accepted

    Reason:                InitialNamesAccepted

    Status:                True

    Type:                  Established

Events:                    <none>

$

$

$ vim new-crontab.yaml

$

$

$ kubectl create -f new-crontab.yaml

error: unable to recognize "new-crontab.yaml": no matches for kind "CronTab" in version "training.lfs458.com/v1"

$ vim new-crontab.yaml

$

$

$ kubectl create -f new-crontab.yaml

crontab.training.lfs258.com "new-cron-object" created

$

$

$ kubectl get CronTab

NAME              AGE

new-cron-object   11s

$

$

$ kubectl get ct

error: the server doesn't have a resource type "ct"

$ kubectl describe ct

error: the server doesn't have a resource type "ct"

Comments

  • chrispokorni
    chrispokorni Posts: 2,155
    edited May 2018

    Hi Sean, 

    I believe your issue is again yaml whitespace. If all is good in your crd.yaml, describe crd should also show you the Short Names: ct, like below:


    ​... Spec: Group: training.lfs258.com Names: Kind: CronTab List Kind: CronTabList Plural: crontabs Short Names: ct ...

     

    If in your crd.yaml, the "- ct" is not properly alligned, you will not get an error during the create -f crd.yaml, and you will receive the error of unfound resource type. I am not exactly sure why there is no error at create. However, I did notice this before too, and it was also the last line that was giving me headaches. 

    If all whitespace is correct in crd.yaml, you should be able to obtain successful outputs for all attempts at get ct, get crontab, get crontabs, get CronTab. 

    If you downloaded the solutions tar file, you should have a good crd.yaml which works. 

    If not, try this:


    apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: crontabs.training.lfs458.com # This name must match names below. # <plural>.<group> syntax spec: scope: Cluster #Could also be Namespaced group: training.lfs458.com version: v1 names: kind: CronTab #Typically CamelCased for resource manifest plural: crontabs #Shown in URL singular: crontab #Short name for CLI alias shortNames: - ct #CLI short name

     

    Have fun with YAML :))

    -Chris 

     

  • sdalziel
    sdalziel Posts: 17
    edited May 2018

    Thanks Chris,

    I found a couple of typos in my YAML files that were the cause of my issues with this exercise.

    Thank you again for you help.

    Sean

Categories

Upcoming Training