Welcome to the Linux Foundation Forum!

Lab 5.1 - Unable to create pod using curl

rthothadri
rthothadri Posts: 7
edited March 2018 in LFS258 Class Forum

oracle@k8-node1a:~$ curl --cert ./client.pem \

> --key ./client-key.pem \

> --cacert ./ca.pem \

> https://10.128.0.4:6443/api/v1/pods

{

  "kind": "PodList",

  "apiVersion": "v1",

  "metadata": {

    "selfLink": "/api/v1/pods",

    "resourceVersion": "45460"

  },

  "items": [

    {

      "metadata": {

        "name": "etcd-k8-node1a",

        "namespace": "kube-system",

        "selfLink": "/api/v1/namespaces/kube-system/pods/etcd-k8-node1a",

        "uid": "79c83398-1ba9-11e8-8e4f-42010a800004",

        "resourceVersion": "43839",

        "creationTimestamp": "2018-02-27T10:32:14Z",

        "labels": {

          "tier": "control-plane",

          "component": "etcd"

        },

...

 

oracle@k8-node1a:~$ cat curlpod.json

{

    "kind": "Pod",

    "apiVersion": "v1",

    "metadata":{

        "name": "curlpod",

        "namespace": "default",

        "labels": {

            "name": "examplepod"

        }

    },

    "spec": {

        "containers": [{

            "name": "nginx",

            "image": "nginx",

            "ports": [{"containerPort": 80}]

        }]

    }

}

oracle@k8-node1a:~$

oracle@k8-node1a:~$ kubectl create -f curlpod.json

pod "curlpod" created

oracle@k8-node1a:~$ kubectl get pods

NAME      READY     STATUS    RESTARTS   AGE

curlpod   1/1       Running   0          26s

oracle@k8-node1a:~$ kubectl get deployment

No resources found.

oracle@k8-node1a:~$ kubectl delete pod curlpod

pod "curlpod" deleted

oracle@k8-node1a:~$ kubectl get pods

No resources found.

oracle@k8-node1a:~$

 

oracle@k8-node1a:~$ curl --cert ./client.pem --key ./client-key.pem --cacert ./ca.pem https://10.128.0.4:6443/api/v1/namespaces/default/pods -XPOST -H’Content-Type: application/json’ -d@curlpod.json

{

  "kind": "Status",

  "apiVersion": "v1",

  "metadata": {

  },

  "status": "Failure",

  "message": "the body of the request was in an unknown format - accepted media types include: application/json;stream=watch, application/vnd.kubernetes.protobuf;stream=watch",

  "reason": "UnsupportedMediaType",

  "code": 415

}curl: (6) Could not resolve host: application

oracle@k8-node1a:~$

Hi,

I'm able to use curl command successfully.

I'm able to create the pod successfully using the json file.

But, I'm not able to use the above curl command to create the Pod.

Could you please confirm if there is a problem with the json file or the curl command?

Regards,

Ram

Comments

  • chrispokorni
    chrispokorni Posts: 2,605
    edited March 2018

    The solution mentioned by serewicz worked for me too, and the whitespace is also important in your file. I remeber having the same issues because of the curly single quotes from PDFs, and improperly formatted json/yaml files. Every time I copy text from a PDF that contains single quotes, I replace them immediately because most times they are the curly kind which cause errors. They come up a few times in the labs, so I recommend a thorough check before pasting it into the terminal. 

    -Chris

  • rthothadri
    rthothadri Posts: 7
    edited March 2018

    Thanks Serewics & Chris! Yes, changing the back quotes to single quotes in the curl command resolve the issue.

    Regards,

    Ram

Categories

Upcoming Training