k8s-vscode-okteto

Remote Kubernetes Development in Visual Studio Code with Okteto
> okteto registry need proxy in china (now) . if you hace an answer to speed up in china ,please tell me.
`Prerequisites`
- [x] Visual Studio Code (ps:`scoop install vscode`)
- [x] Install the `Remote - Development` extension (ps:`code --install-extension ms-vscode-remote.vscode-remote-extensionpack`)
- [x] Have access to a Kubernetes cluster?(ps:`minikube start?--image-mirror-country cn`)
`install the extension`
`Get the sample application`
```powershell
cd D:\code\go
git clone https://github.com/okteto/vscode-remote-go.git
code vscode-remote-go
```
`Launch your development environment`
- [x] Open the command palette in Visual Studio Code and type Okteto ( ctrl+shift+p, Okteto )
- [x] Choose the Okteto: Up command, and select the vscode-remote-go/okteto.ymlmanifest. (will install okteto to ~\AppData\Local\Programs\okteto.exe)? (ps:`scoop install okteto`)
- [x] Once your development environment is provisioned, the extension will launch a pop-up asking you to pick a host. Choose the hello-world.oktetohost.
- [x] After a few seconds, VS Code will connect over SSH and configure itself.
(okteto pull image slow?in china (now)?. if you hace an answer to speed up in china ,please tell me.) (ps: use clash). if you know how to set okteto?registry? mirror?in china?,please tell me
logs like these:
```powershell
(base) PS D:\code\go\vscode-remote-go> C:\Users\zero\AppData\Local\Programs\okteto.exe up ?-f 'd:\code\go\vscode-remote-go\okteto.yml' --remote 22100 --log-level=warn
?i ?Using default @ minikube as context
?i ?Build section is not defined in your okteto manifest
?! ?okteto manifest v1 is deprecated and will be removed in okteto 3.0
? ? Follow this guide to upgrade to the new okteto manifest schema:
? ? https://www.okteto.com/docs/reference/manifest-migration/
?? ?Images successfully pulled
?? ?Files synchronized
? ? Context: ? minikube
? ? Namespace: default
? ? Name: ? ? ?hello-world
? ? Forward: ? 8080 -> 8080
Welcome to your development container. Happy coding!
default:hello-world okteto>
```
you can try it in code like these:
```powershell
# edit okteto.yml
# okteto init --replace --file d:\code\go\vscode-remote-go\okteto.yml
# Couldn't detect any manifest (okteto manifest, pipeline, compose, helm chart, k8s manifest)
# okteto context --help
# okteto context list
# okteto context show
# okteto up ?--help
# okteto up ?-f 'd:\code\go\vscode-remote-go\okteto.yml' --remote 22101 --log-level=warn
# okteto up ?-f okteto.yml --remote 22103 --log-level=warn
```
`Remote development`
- [x] opening a new terminal Terminal
- [x] running the command below:
```bash
go version
```
- [x] install the Go extension in your remote environment
install the Go extension in your remote environment?(ps:`code --install-extension golang.Go`)
Once the extension is installed, press on the reloadbutton to restart the remote Visual Studio Code instance and load the Go extension.
this only needs to be done once, since the extensions will be stored in a persistent volume in Kubernetes.
- [x] Debugging app in your remote environment
Now let's start the application. Press F5 (or Debug > Start Debugging) to start the application directly in your development environment.
- [x] access app
Once the process starts open your browser and navigate to http://localhost:8080 to access the application. You can access it via localhostbecause the extension is forwarding port 8080to your local machine.
```powershell
# default:hello-world okteto> ?
go run .
# curl http://localhost:8080
```
`Debug directly in Kubernetes`
`Shutting it down`
Once you're done developing, close the remote instance of Visual Studio Code and run the Okteto: Down command. This will delete the development environment. But don't worry, all your configurations and extensions are persisted in the cluster.
`current version`
vscode?1.80.0
okteto 2.18.0
k8s 1.26.3
[Remote Kubernetes Development in Visual Studio Code with Okteto](https://www.okteto.com/blog/remote-kubernetes-development/)
[ms-vscode-remote.vscode-remote-extensionpack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)