podman-desktop
podman-desktop copied to clipboard
Kubernetes integration
Kubernetes integration
We should be able to connect to Kubernetes/OpenShift clusters and optionally be able to handle lifecycle like start/stop for some local providers (minikube, crc, kind, etc)
- [x] https://github.com/containers/desktop/issues/30
- [x] Ability to manage lifecycle of a Kubernetes provider
- [ ] List Pods of a Kubernetes provider
- [ ] Ability to switch Kubernetes context
What about the ability to switch kube contexts? This is a requested feature that people were used to from the MacOS client of CRC. This uses: https://github.com/code-ready/tray-macos/tree/master/CodeReady%20Containers/KubeSwitch to allow this functionality. Ref: https://github.com/code-ready/tray-electron/issues/204
Thanks! :-D
I've updated the list in the description
Will the integration with kind (= to create/delete or start/stop a k8s cluster) be part of this issue ? FYI: creating a cluster is not so difficult.
Here is an example developed by Tanzu - https://github.com/vmware-tanzu/community-edition/blob/main/cli/cmd/plugin/unmanaged-cluster/cluster/kind.go#L59-L125
or using kind client: https://github.com/kubernetes-sigs/kind/blob/main/pkg/cmd/kind/create/cluster/createcluster.go#L79-L91
Question: Have you defined a spec to support different providers ?
Hello @cmoulliard
Will the integration with kind (= to create/delete or start/stop a k8s cluster) be part of this issue ? FYI: creating a cluster is not so difficult.
The first step is to connect to an existing instance of Kubernetes/OpenShift/etc through its endpoint URL.
So you could start a Kind/minishift/OpenShift Local/etc cluster and you could add connection there.
Question: Have you defined a spec to support different providers ?
There is a plug-in API where you can register providers https://github.com/containers/podman-desktop/blob/037518067a5f661b70c315a3a42d11954e6cd3da/packages/extension-api/src/extension-api.d.ts#L170
Also I think it should be possible for a plug-in to add custom commands to start for example a cluster
It could depend on the interest for people having the tool creating the cluster or not.
The first step is to connect to an existing instance of Kubernetes/OpenShift/etc through its endpoint URL.
So you could start a Kind/minishift/OpenShift Local/etc cluster and you could add connection there.
hmhm. As a developer what I like a lot when I use the Rancher desktop is that typically it takes care for me to create the k8s cluster according to the version specified like also the router - traefix able to expose my services top

NOTE: If now I must open the podman desktop just to figure out what are the kube contexts available to access the clusters, then I will use directly kube context instead of launching a desktop ;-)
@cmoulliard ok got the message 👍
Is there a document/github issue detailing what the goals of the desktop will be ? Have you also investigated how it will be positioned against: Rancher, Docker, Tanzu and Kubernetic ? @benoitf
cc @slemeur
@cmoulliard if you can tell what you expect from the tool as well. It seems you are interested in the Kubernetes part (or you're interested in podman pods ?) having a cluster setup in one click
It seems you are interested in the Kubernetes part (or you're interested in podman pods ?) having a cluster setup in one click
Yes. I'm more interested to use the tool as a Kubernetes desktop than as container desktop even, when we use kind a docker container is needed ;-) ) and stuffs like:
- Private registry and self signed certificate generated to allow to build/push using docker locally or dekorate or quarkus build
- Ingress router (contour, traefix) to access from host to cluster the services
- Certificate manager installed and perhaps additional packages supporting the outerloop: Tekton, Shipwright, ...
- CPU and Memory configuration
- Mount of volumes (host to container running kind cluster)
NOTE: Here is how the team is currently dealing today with such a use case when we use kubernetes kind + private registry + TLS certificate + ingress : https://github.com/snowdrop/k8s-infra/blob/main/kind/kind-tls-secured-reg.sh
We have completed all of the major features in here as of Podman Desktop 1.0, and there have been no comments in over a year, so I am closing this. Please try a recent release, and feel free to open new issues if there are any additional features you'd like to see.