{"id":32336,"date":"2022-12-21T11:01:43","date_gmt":"2022-12-21T11:01:43","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=32336"},"modified":"2025-01-13T12:15:25","modified_gmt":"2025-01-13T12:15:25","slug":"knative-troubleshooting-debugging-guide","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/knative-troubleshooting-debugging-guide\/","title":{"rendered":"Knative: Troubleshooting &#038; Debugging Guide"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Check if all containers are running, ready and healthy<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">Knative Serving Components<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n knative-serving\n\nNAME                                      READY   STATUS    RESTARTS   AGE\nactivator-6b9dc4c9db-cl56b                1\/1     Running   0          2m\nautoscaler-77f9b75856-f88qw               1\/1     Running   0          2m\ncontroller-7dcb56fdb6-dbzrp               1\/1     Running   0          2m\ndomain-mapping-6bb8f95654-c575d           1\/1     Running   0          2m\ndomainmapping-webhook-c77dcfcfb-hg2wv     1\/1     Running   0          2m\nwebhook-78dc6ddddb-6868n                  1\/1     Running   0          2m<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Knative Serving Networking Layer<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n knative-serving\n\nNAME                                    READY   STATUS    RESTARTS   AGE\nnet-istio-controller-ccc455b58-f98ld    1\/1     Running   0          19s\nnet-istio-webhook-7558dbfc64-5jmt6      1\/1     Running   0          19s<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n istio-system\n\nNAME                                   READY   STATUS    RESTARTS   AGE\nistio-ingressgateway-c7b9f6477-bgr6q   1\/1     Running   0          44s\nistiod-79d65bf5f4-5zvtj                1\/1     Running   0          29s<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n knative-serving\n\nNAME                                      READY   STATUS    RESTARTS   AGE\nnet-kourier-controller-5fcbb6d996-fprpd   1\/1     Running   0          103s\n\n$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n kourier-system\nNAME                                      READY   STATUS    RESTARTS   AGE\n3scale-kourier-gateway-86b9f6dc44-xpn6h   1\/1     Running   0          2m22s\n\n$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n contour-external\n\nNAME                            READY   STATUS      RESTARTS   AGE\ncontour-7b995cdb68-jg5s8        1\/1     Running     0          41s\ncontour-certgen-v1.24.2-zmr9r   0\/1     Completed   0          41s\nenvoy-xkzck                     2\/2     Running     0          41s\n\n$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n contour-external\n\nNAME                            READY   STATUS      RESTARTS   AGE\ncontour-7b995cdb68-jg5s8        1\/1     Running     0          41s\ncontour-certgen-v1.24.2-zmr9r   0\/1     Completed   0          41s\nenvoy-xkzck                     2\/2     Running     0          41s\n\n$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n contour-internal\n\nNAME                            READY   STATUS      RESTARTS   AGE\ncontour-57fcf576fd-wb57c        1\/1     Running     0          55s\ncontour-certgen-v1.24.2-gqgrx   0\/1     Completed   0          55s\nenvoy-rht69                     2\/2     Running     0          55s<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Knative Eventing<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl <span class=\"hljs-keyword\">get<\/span> pods -n knative-eventing\n\nNAME                                  READY   STATUS    RESTARTS   AGE\neventing-controller-bb8b689c4-lk6pq   1\/1     Running   0          41s\neventing-webhook-577bb88ccd-hcz5p     1\/1     Running   0          41s<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Check if there are any errors logged in the Knative components<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">$ kubectl logs -n knative-serving <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">pod-name<\/span>&gt;<\/span>\n$ kubectl logs -n knative-eventing <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">pod-name<\/span>&gt;<\/span>\n$ kubectl logs -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">ingress-namespaces<\/span>&gt;<\/span> <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">pod-namespaces<\/span>&gt;<\/span> # see above for the relevant namespaces<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">For example<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ kubectl logs -n knative-serving activator-6b9dc4c9db-cl56b\n2023\/05\/01 11:52:51 Registering 3 clients\n2023\/05\/01 11:52:51 Registering 3 informer factories\n2023\/05\/01 11:52:51 Registering 4 informers<\/code><\/span><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Check the status of the Knative Resources<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> kservice\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> config\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> revision\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> sks # Serverless Service\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> kingress # Knative Ingress\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> rt # Knative Route\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> dm # Domain-Mapping<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Check the status at the end. For example<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">Knative Serving<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ kubectl describe -n <span class=\"hljs-keyword\">default<\/span> kservice\n\n... omitted ...\nStatus:\n  Address:\n    URL:  http:<span class=\"hljs-comment\">\/\/hello.default.svc.cluster.local<\/span>\n  Conditions:\n    Last Transition Time:        <span class=\"hljs-number\">2023<\/span><span class=\"hljs-number\">-05<\/span><span class=\"hljs-number\">-01<\/span>T12:<span class=\"hljs-number\">08<\/span>:<span class=\"hljs-number\">18<\/span>Z\n    Status:                      <span class=\"hljs-keyword\">True<\/span>\n    Type:                        ConfigurationsReady\n    Last Transition Time:        <span class=\"hljs-number\">2023<\/span><span class=\"hljs-number\">-05<\/span><span class=\"hljs-number\">-01<\/span>T12:<span class=\"hljs-number\">08<\/span>:<span class=\"hljs-number\">18<\/span>Z\n    Status:                      <span class=\"hljs-keyword\">True<\/span>\n    Type:                        Ready\n    Last Transition Time:        <span class=\"hljs-number\">2023<\/span><span class=\"hljs-number\">-05<\/span><span class=\"hljs-number\">-01<\/span>T12:<span class=\"hljs-number\">08<\/span>:<span class=\"hljs-number\">18<\/span>Z\n    Status:                      <span class=\"hljs-keyword\">True<\/span>\n    Type:                        RoutesReady\n  Latest Created Revision Name:  hello<span class=\"hljs-number\">-00001<\/span>\n  Latest Ready Revision Name:    hello<span class=\"hljs-number\">-00001<\/span>\n  Observed Generation:           <span class=\"hljs-number\">1<\/span>\n  Traffic:\n    Latest Revision:  <span class=\"hljs-keyword\">true<\/span>\n    Percent:          <span class=\"hljs-number\">100<\/span>\n    Revision Name:    hello<span class=\"hljs-number\">-00001<\/span>\n  URL:                http:<span class=\"hljs-comment\">\/\/hello.default.10.89.0.200.sslip.io<\/span>\nEvents:\n  Type    Reason   Age   From                Message\n  ----    ------   ----  ----                -------\n  Normal  Created  <span class=\"hljs-number\">45<\/span>s   service-controller  Created Configuration <span class=\"hljs-string\">\"hello\"<\/span>\n  Normal  Created  <span class=\"hljs-number\">45<\/span>s   service-controller  Created Route <span class=\"hljs-string\">\"hello\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Knative Eventing<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> brokers\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> eventtypes\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> triggers\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> channels\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> subscriptions\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> apiserversources\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> containersources\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> pingsources\n$ kubectl describe -n <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">namespace<\/span>&gt;<\/span> sinkbindings<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Check the status at the end. For example<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ kubectl describe -n <span class=\"hljs-keyword\">default<\/span> brokers\n\n... omitted ...\nStatus:\n  Annotations:\n    bootstrap.servers:                 my-cluster-kafka-bootstrap.kafka:<span class=\"hljs-number\">9092<\/span>\n    <span class=\"hljs-keyword\">default<\/span>.topic.partitions:          <span class=\"hljs-number\">10<\/span>\n    <span class=\"hljs-keyword\">default<\/span>.topic.replication.factor:  <span class=\"hljs-number\">3<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">KServe Debugging Guide<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/kserve.github.io\/website\/developer\/debug\/<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Debugging application issues<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/knative.dev\/docs\/serving\/troubleshooting\/debugging-application-issues\/<\/li>\n<\/ul>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/3df9aec766fdf45776f07669c3215381.js\"><\/script>\n\n\n\n<h3 class=\"wp-block-heading\">Check Istio-Ingressgateway Pod Status:<\/h3>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/3fac0ff7ac79e954b60b470436ea3b56.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Knative Serving Troubleshooting: Autoscaler Component<\/h2>\n\n\n\n<script src=\"https:\/\/gist.github.com\/devops-school\/3b3cc7699e3334e2e585d093a2dff55d.js\"><\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/knative.dev\/docs\/install\/troubleshooting\/<\/li>\n\n\n\n<li>https:\/\/knative.dev\/docs\/serving\/troubleshooting\/debugging-application-issues\/<\/li>\n\n\n\n<li>https:\/\/knative.dev\/docs\/eventing\/troubleshooting\/<\/li>\n\n\n\n<li>https:\/\/knative.dev\/docs\/serving\/troubleshooting\/debugging-application-issues\/<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/debugging-application-issues.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/debugging-performance-issues.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/accessing-logs.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/accessing-metrics.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/accessing-traces.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/debugging-application-issues.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/debugging-performance-issues.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/gke-assigning-static-ip-address.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/installing-logging-metrics-traces.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/outbound-network-access.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/setting-up-a-logging-plugin.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/using-a-custom-domain.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/using-an-ssl-cert.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/using-cert-manager-on-gcp.md<\/li>\n\n\n\n<li>https:\/\/github.com\/dewitt\/knative-docs\/blob\/master\/serving\/using-external-dns.md<\/li>\n\n\n\n<li>https:\/\/github.com\/knative\/serving\/issues<\/li>\n\n\n\n<li>https:\/\/github.com\/knative\/eventing\/issues<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Check if all containers are running, ready and healthy Knative Serving Components Knative Serving Networking Layer Knative Eventing Check if there are any errors logged in the Knative components For example Check the status of the Knative Resources Check the status at the end. For example Knative Serving Knative Eventing Check the status at the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[8921],"tags":[],"class_list":["post-32336","post","type-post","status-publish","format-standard","hentry","category-knative"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=32336"}],"version-history":[{"count":11,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32336\/revisions"}],"predecessor-version":[{"id":48146,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/32336\/revisions\/48146"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=32336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=32336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=32336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}