如何在"skaffold.yaml"文件中使用"microk8s kubectl"?



我有一个skaffold.yaml文件,如下所示:

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
mk:
manifests:
- ./infra/k8s/*
build:
local:
push: false
artifacts:
- image: learnertester/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: 'src/**/*.ts'
dest: .
- image: learnertester/ticketing-client

现在,我已经在Ubuntu 22.04上安装了microk8s并想要使用它。我还为microk8s kubectl定义了别名mk。但是当我修改下面一行时:

deploy:
kubectl:

:

deploy:
mk:

我得到以下错误运行skaffold dev:

parsing skaffold config: error parsing skaffold configuration file: unable to parse config: yaml: unmarshal errors:
line 55: field mk not found in type v2alpha3.DeployConfig

我该如何解决这个问题?

根据本文档,使用deploy作为microk8s kubectl而不是mk。这可能没有使用别名mk,或者您没有使用正确的别名。

添加一个别名(附加到~/.bash_aliases),如下所示:Alias kubectl='microk8s kubectl'

然后使用下面的as并尝试:

deploy:
microk8s kubectl:

参考这个文件夹。有关Yaml的更多信息,您还需要使用正确的dest路径(#destination path在容器中,文件应该同步到..)

你也可以查看IntelliJ和VS Code的Cloud Code或在线Cloud Shell Editor,它提供了skaffold。Yaml编辑帮助,包括突出显示文件中的错误。

我也面临同样的问题:

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
microk8s kubectl:
manifests:
- ./infra/k8s/*

……

"Property microk8s kubectl不允许。yaml-schema: skaffold.yaml"

我从这里找到了这个解决方案:https://github.com/GoogleContainerTools/skaffold/issues/5283

Ubuntu 20.04 Server - microk8s Kubernetes - old laptop as a Server

。撤销别名注释或删除行:# alias kubectl='microk8s kubectl'

nano ~/.bashrc
nano ~/.bash_aliases

。安装kubectl并导出配置

sudo snap install kubectl --classic
microk8s.kubectl config view --raw > $HOME/.kube/config
New config file created in my case....ls $HOME/.kube/

。脚手架。所有.yaml文件的路径

apiVersion: skaffold/v4beta1
kind: Config
manifests:
rawYaml:
- ./infra/k8s/*

。参考Yaml

apiVersion: skaffold/v3alpha1
kind: Config
build:
artifacts:
- image: ajochope/auth
context: auth
docker:
dockerfile: Dockerfile
sync:
manual:
- src: "src/**/*.js"
dest: .
manifests:
rawYaml:
- ./infra/k8s/*
deploy:
kubectl: {}

干杯! !

相关内容

  • 没有找到相关文章

最新更新