我正在学习如何将kubectl部署转换为terraform。我目前面临的问题是,一旦指定了名称空间,就可以让服务按照预期的方式使用terraform kubectl。
在执行与默认kubectl apply相同的namespace时,我已经确认了terraform脚本可以工作。
在terraform中使用kubectl提供者到apply -n namespace的正确方法是什么?
我尝试过的两种不同方法是:
resource "kubectl_manifest" "example" {
override_namespace = kubernetes_namespace_v1.namespace.metadata[0].name
yaml_body = file("${path.cwd},deploy.yaml")
}还包括:
resource "kubectl_manifest" "example" {
yaml_body = file("${path.cwd},deploy.yaml")
}将命名空间添加到deploy.yaml中
apiVersion: apps/v1
kind: Deployment
metadata:
name: example
namespace: namespace
...
---
apiVersion: v1
kind: Service
metadata:
name: example
namespace: namespace然后,当我试图通过以下方式确认该服务是否正常运行时:
kubectl logs example-6878fd468-9vgkm来自服务器的
错误(NotFound):pods“示例-6878fd468-9vgkm”未找到
发布于 2022-07-29 10:11:50
你的地形描述很好。您还需要指定-n切换到kubectl logs命令,以检测正确命名空间中的pod。
kubectl logs example-6878fd468-9vgkm -nexamplehttps://stackoverflow.com/questions/73164873
复制相似问题