如何在Bazel中为我的项目设置k8s_default?

时间:2019-10-15 01:48:34

标签: kubernetes terraform bazel kubectl kubeconfig

我有一个包含以下文件的项目:

# To use Bazel
/home/slackware/tgkj/WORKSPACE

# To use Bazel and https://github.com/bazelbuild/rules_k8s
/home/slackware/tgkj/app/BUILD

# The app to be ran on the kubernetes cluster.
/home/slackware/tgkj/app/main.py

# To deploy EC2 instances using terraform
/home/slackware/tgkj/infra/terraform.tf

# To tell Packer how to build the AMIs (provision using ansible) to deploy to EC2
/home/slackware/tgkj/infra/example.jsonnet

# To tell Ansible how to provision the AMI
# (Install kubernetes master packages for the master AMI
#  and node packages for the node AMI)
/home/slackware/tgkj/infra/playbook_template.jsonnet

我能够使用terraform创建我的EC2实例,并使用Packer + Ansible构建并配置我的AMI。

现在,我想将我的main.py程序部署在kubernetes集群上。

注意:的确,我缺少一些kubernetes deployment.yaml文件。它在我的文件系统中,但是我还不了解它是否可以完全保密地在此处列出,它也不是这个问题的重点。

我找到了https://github.com/bazelbuild/rules_k8s,我想用它来指定用于部署映像的构建目标。我可以使用py3_image()(来自https://github.com/bazelbuild/rules_docker)指令来创建python3图像目标。

混乱之处在bazelbuild / rules_k8s中。如果您查看https://github.com/bazelbuild/rules_k8s#aliasing-eg-k8s_deployhttps://github.com/bazelbuild/rules_k8s#k8s_defaults,则提到了指定“集群”。


我想知道这样的构建目标将使用哪个kubectl config current-context上下文?当前一个?我可以在项目目录kubeconfig中放置文件/home/slackware/tgkj/到我的项目目录中,并在我使用kubectl时让kubectl自动使用该配置文件吗?您认为我应该做些不同的事情吗?

0 个答案:

没有答案