【发布时间】:2021-02-09 12:00:37
【问题描述】:
这是我在这里的第一篇文章,请寻求一些建议。
我正在学习 Kubernetes 并尝试获取云代码扩展以在非 GKE 集群上部署 Kubernetes 清单。留言板应用可以使用云代码扩展部署到本地 K8 集群(例如 MiniKube 或 Docker-for-Desktop)。
我有两个其他 K8 集群,如下所示,我无法通过云代码部署清单。我不完全确定这是否应该工作,因为我找不到任何文档或帖子。 GCP 免费试用结束后,我想通过云代码将我的测试应用部署在我们本地的本地 K8 集群上。
- 在 CentOS 虚拟机上运行的 3 节点集群(使用 kubeadm 构建)
- 在 Ubuntu 机器上运行的 GCP 上的 6 节点集群(免费试用并使用 Hightower 方式构建)
Skaffold 安装在本地 MAC 上,我的本地 $HOME/.kube/config 具有上下文和用户设置为访问所有 3 个集群。 ➜
guestbook-1 kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
docker-desktop docker-desktop docker-desktop
* kubernetes-admin@kubernetes kubernetes kubernetes-admin
kubernetes-the-hard-way kubernetes-the-hard-way admin
错误:
Running: skaffold dev -v info --port-forward --rpc-http-port 57337 --filename /Users/testuser/Desktop/Cloud-Code-Builds/guestbook-1/skaffold.yaml -p cloudbuild --default-repo gcr.io/gcptrial-project
starting gRPC server on port 50051
starting gRPC HTTP server on port 57337
Skaffold &{Version:v1.19.0 ConfigVersion:skaffold/v2beta11 GitVersion: GitCommit:63949e28f40deed44c8f3c793b332191f2ef94e4 GitTreeState:dirty BuildDate:2021-01-28T17:29:26Z GoVersion:go1.14.2 Compiler:gc Platform:darwin/amd64}
applying profile: cloudbuild
no values found in profile for field TagPolicy, using original config values
Using kubectl context: kubernetes-admin@kubernetes
Loaded Skaffold defaults from \"/Users/testuser/.skaffold/config\"
Listing files to watch...
- python-guestbook-backend
watching files for artifact "python-guestbook-backend": listing files: unable to evaluate build args: reading dockerfile: open /Users/adminuser/Desktop/Cloud-Code-Builds/src/backend/Dockerfile: no such file or directory
Exited with code 1.
skaffold config file skaffold.yaml not found - check your current working directory, or try running `skaffold init`
如图所示,我在路径中有 docker 和 skaffold 文件,并已在 vscode 中验证了 google SDK。有什么帮助吗?!
【问题讨论】:
-
你是否修改了
.vscode/lauch.json提到的here -
感谢您的回复马吕斯。我最终通过删除 skaffold.yaml 得到了这个工作,然后再次初始化,云代码可以在远程集群上运行 Pod。我不必修改任何launch.json,因为它是自动填充的。但是您引用的文章确实对我的下一步有所帮助:即...使用 docker repo 而不是 gcr repo。
-
请将其作为答案发布,以便您的解决方案可以帮助其他有类似问题的人。
-
我很高兴重新生成您的 skaffold.yaml 就足够了。将来,包含您的
skaffold.yaml的内容以及它是否已生成以及您是否进行了调整或进行其他更改会很有用。关于您的控制台输出,有一个奇怪的地方:您的 Skaffold 默认值是从/Users/testuser加载的,但您的项目在/Users/adminuser中。您是否可能遇到权限问题? -
@BriandeAlwis 这是一个很好的观察。我编辑了我的控制台输出,因为我不允许透露真实的管理员帐户名,并且肯定没有正确替换用户帐户名。所以权限很好。是的,我将来会分享 skaffold yaml。在这种特殊情况下,有帮助的是:删除 skaffold.yaml,初始化并重新部署,到目前为止它似乎工作!
标签: kubernetes visual-studio-code google-cloud-code