Bazel rules_k8s - Как применить внешние файлы конфигурации? (Из URL) - PullRequest
2 голосов
/ 12 февраля 2020

Я пытаюсь полностью автоматизировать развертывание в моем кластере Kubernetes с помощью Bazel и rules_k8s . Но я не знаю, как применить внешние конфигурации к моему кластеру. Обычно я запускаю команду типа

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml

Но я хочу, чтобы это происходило автоматически, когда я запускаю свое правило

k8s_objects(
    name = "kubernetes_deployment",
    objects = [
        "//kubernetes:nginx",
        "//services/gateway:k8s",
        "//services/ideas:k8s",
        # ...
    ]
)

для развертывания всего в Kubernetes.

1 Ответ

2 голосов
/ 21 марта 2020

попробуйте это в вашем файле BUILD, я не уверен, что это лучший способ, так как он будет перезапущен при каждой сборке. Было бы хорошо, если бы мы могли использовать http_file здесь вместо genrule.

genrule(
        name = "extyaml",
        srcs = [],
        outs = ["certman-k8s.yaml"],
        cmd = "curl -L https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml > $@",
    )


    k8s_object(
        name = "certman",
        cluster = "minikube",
        template = ":certman-k8s.yaml",
    )
...