A Visual Studio Code extension for interacting with Kubernetes clusters. This extension combines
the vs-kubernetes
extension by @brendandburns and the vs-helm
extension by @technosophos.
This extension assumes that you have a Dockerfile
in the root directory of
your project.
It also assumes that you have the following binaries on your PATH
:
kubectl
docker
git
draft
(optional)
If you don't have those on your PATH then the extension will fail in unexpected ways.
For setting up kubectl
you have a couple of additional options:
- If
kubectl
is not on your PATH then you can tell the extension its location using thevs-kubernetes.kubectl-path
workspace setting. This should be the full file name and path of the kubectl binary. - If you are using the extension to work with an Azure Container Service then you can install and configure
kubectl
using theKubernetes Configure from ACS
command.
For setting up draft
you can also do this via configuration.
If you want to use the Kubernetes Run
and Kubernetes Debug
features
then you need to have correctly set the image and repository for your
images. You can do this via preferences in VS-Code:
File > Preferences
And then add:
{
...
"vsdocker.imageUser": "<your-image-prefix-here>",
...
}
Where <your-image-prefix-here>
is something like docker.io/brendanburns
.
vs-kubernetes
supports a number of commands for interacting with Kubernetes, they are accessible via the command
menu (ctrl-shift-p
)
Kubernetes Load
- Load a resource from the Kubernetes API and create a new editor window.Kubernetes Get
- Get the status for a specific resource.Kubernetes Logs
- Get logs for a pod in an output window.
Kubernetes Explain
- Use thekubectl explain ...
tool to annotate Kubernetes API objectsKubernetes Create
- Create an object using the current documentKubernetes Delete
- Delete an object contained in the current document.Kubernetes Apply
- Apply changes to an object contained in the current document.Kubernetes Expose
- Expose the object in the current document as a service.
Kubernetes Run
- Run the current application as a Kubernetes DeploymentKubernetes Terminal
- Open an interactive terminal session in a pod of the Kubernetes DeploymentKubernetes Exec
- Run a command in a pod of the Kubernetes DeploymentKubernetes Debug
- Run the current application as a Kubernetes Deployment and attach a debugging session to it (currently works only for Node.js deployments)Kubernetes Remove Debug
- Remove the deployment and/or service created for aKubernetes Debug
session
Kubernetes Configure from ACS
- Install and configure the Kubernetes command line tool (kubectl) from an Azure Container Service
Draft is a tool to simplify the process of developing a new Kubernetes application, by creating the necessary deployment components and by keeping code in the cluster in sync with the code on your computer.
Kubernetes Draft: Create
- Set up Draft in the current folder (prerequisite for syncing using Draft)Kubernetes Draft: Up
- Runs Draft to watch the current folder and keep the cluster in sync with it
NOTE: Draft itself is in 'draft' form and is not yet stable. So the extension support for Draft is strictly experimental - assumptions may break, and commands and behavior may change!
vs-kubernetes
- Parent for Kubernetes-related extension settingsvs-kubernetes.namespace
- The namespace to use for all commandsvs-kubernetes.kubectl-path
- File path to the kubectl binary. Note this is the binary file itself, not just the directory containing the file. On Windows, this must contain the.exe
extension.vs-kubernetes.draft-path
- File path to the draft binary. Note this is the binary file itself, not just the directory containing the file. On Windows, this must contain the.exe
extension.
vsdocker.imageUser
- Image prefix for docker images e.g. 'docker.io/brendanburns'
Nothing known (plenty unknown ;)
See the change log.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.