Welcome to the Linux Foundation Forum!

Documented API for Kubernetes on Swagger UI

  1. APIS AND ACCESS -- APIs and Access -- Swagger and OpenAPI
    I could not find documented API for Kubernetes on Swagger UI. Please provide full link to enter, because only part of URL path is visible.

Answers

  • chrispokorni
    chrispokorni Posts: 1,610

    Hi @oleksazhel,

    Refrences to the Swagger tool and the OpenAPI can be found in the official Kubernetes documentation and Kubernetes github repository.

    Regards,
    -Chris

  • oleksazhel
    oleksazhel Posts: 57

    @chrispokorni said:
    Hi @oleksazhel,

    Refrences to the Swagger tool and the OpenAPI can be found in the official Kubernetes documentation and Kubernetes github repository.

    Regards,
    -Chris

    I don't need reference to Swagger tool it exists inside training course. I need URL to enter inside Swagger tool which is called Swagger UI or Cloud version which is called SwaggerHub.

  • chrispokorni
    chrispokorni Posts: 1,610
    edited April 18

    From the Swagger homepage you can easily access SwaggerHub, UI, Editor, Codegen, and others Pro tools.
    You may be asked to create an account first.
    Otherwise to access your cluster's API, there are a few articles and blog posts outside of Kubernetes and Swagger documentation, that guide you on how to access it locally and visualize various resource APIs.

    Regards,
    -Chris

  • oleksazhel
    oleksazhel Posts: 57

    @chrispokorni said:
    From the Swagger homepage you can easily access SwaggerHub, UI, Editor, Codegen, and others Pro tools.
    You may be asked to create an account first.
    Otherwise to access your cluster's API, there are a few articles and blog posts outside of Kubernetes and Swagger documentation, that guide you on how to access it locally and visualize various resource APIs.

    Regards,
    -Chris

    I know that I can access SwaggerHub of course, and of course I created account... Quote from training material: "you can browse some of the API groups via a Swagger UI on the https://swagger.io/specification/". So my assumption is that it means that there is some documented Kates API which I can access via SwaggerHub and I need just name of that public API to find it and check. The question is not about how to deploy swagger locally and bind to existing Kates cluster. Do you see?

  • kzwolenik
    kzwolenik Posts: 2

    @oleksazhel I think I've found out the answer to your question, I'm roughly in the same course part and I did some googling.

    So the documentation is avaliable via the kubernetes API and then you need to host a swagger instance on your own:

    commands:
    
    # open the proxy to the API #
    kubectl proxy --port=8080
    
    # download JSON with the documentation
    curl localhost:8080/openapi/v2 > k8s-openapi-v2.json
    
    # run the swagger ui instance
    docker run \
      -v $PWD/k8s-openapi-v2.json:/app/swagger.json \
      -p 8081:8080 \
      swaggerapi/swagger-ui
    
    

    I was able to access the swagger-ui using URL http://10.0.1.10:8081/ (in my case 10.0.1.10 is my virtual machine ip)

  • oleksazhel
    oleksazhel Posts: 57

    @kzwolenik Thank you for your detailed answer, but question wasn't about how to run Swagger UI in docker and use previously fetched data from local Kuber CP with proxying request to it. I also saw this info in Goolge) If you look into https://trainingportal.linuxfoundation.org/learn/course/kubernetes-fundamentals-lfs258/apis-and-access/apis-and-access?page=14 you will find a part of external URL in the screenshot. Thus I suppose that there is some link you can enter to your Swagger UI and you don't need any local Kuber CP to get data from. Although I realize that they may provide this URL just as an example and may be it is closed for the world.

  • kzwolenik
    kzwolenik Posts: 2

    I think you are right.

  • yda
    yda Posts: 1

    Go to Swagger UI demo page: https://petstore.swagger.io/
    Use browser extension to allow cross origin requests.
    Go to Kubernetes github page. Pick whatever release branch / commit you want and navigate to open ai spec.
    Example of master branch: https://github.com/kubernetes/kubernetes/blob/master/api/openapi-spec/swagger.json
    Example of specific release branch: https://github.com/kubernetes/kubernetes/blob/release-1.25/api/openapi-spec/swagger.json
    Right click "View raw" and copy link address.
    Paste link in Swagger UI demo page.

Categories

Upcoming Training