gpt4 book ai didi

kubernetes - EKS kube系统部署CrashLoopBackOff

转载 作者:行者123 更新时间:2023-12-02 11:56:42 27 4
gpt4 key购买 nike

我正在尝试将Kube State Metrics部署到运行Kubernetes v1.14的EKS集群(eks.4)中的kube-system命名空间中。

Kubernetes连接

provider "kubernetes" {
host = var.cluster.endpoint
token = data.aws_eks_cluster_auth.cluster_auth.token
cluster_ca_certificate = base64decode(var.cluster.certificate)
load_config_file = true
}

部署 list (作为.tf)
resource "kubernetes_deployment" "kube_state_metrics" {
metadata {
name = "kube-state-metrics"
namespace = "kube-system"

labels = {
k8s-app = "kube-state-metrics"
}
}

spec {
replicas = 1

selector {
match_labels = {
k8s-app = "kube-state-metrics"
}
}

template {
metadata {
labels = {
k8s-app = "kube-state-metrics"
}
}

spec {
container {
name = "kube-state-metrics"
image = "quay.io/coreos/kube-state-metrics:v1.7.2"

port {
name = "http-metrics"
container_port = 8080
}

port {
name = "telemetry"
container_port = 8081
}

liveness_probe {
http_get {
path = "/healthz"
port = "8080"
}

initial_delay_seconds = 5
timeout_seconds = 5
}

readiness_probe {
http_get {
path = "/"
port = "8080"
}

initial_delay_seconds = 5
timeout_seconds = 5
}
}

service_account_name = "kube-state-metrics"
}
}
}
}


我还从 https://github.com/kubernetes/kube-state-metrics/tree/master/kubernetes部署了所有必需的RBAC list -为简洁起见,在此删除。

当我在上面的部署中运行 terraform apply时,Terraform输出如下: kubernetes_deployment.kube_state_metrics: Still creating... [6m50s elapsed]
最终在10m处超时。

这是 kube-state-metrics pod的日志输出
I0910 23:41:19.412496       1 main.go:140] metric white-blacklisting: blacklisting the following items:
W0910 23:41:19.412535 1 client_config.go:541] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
W0910 23:41:19.412565 1 client_config.go:546] error creating inClusterConfig, falling back to default config: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory
F0910 23:41:19.412782 1 main.go:148] Failed to create client: invalid configuration: no configuration has been provided

最佳答案

将以下内容添加到spec中使我成功进行了部署。

automount_service_account_token = true

对于后代:
resource "kubernetes_deployment" "kube_state_metrics" {
metadata {
name = "kube-state-metrics"
namespace = "kube-system"

labels = {
k8s-app = "kube-state-metrics"
}
}

spec {
replicas = 1

selector {
match_labels = {
k8s-app = "kube-state-metrics"
}
}

template {
metadata {
labels = {
k8s-app = "kube-state-metrics"
}
}

spec {
automount_service_account_token = true
container {
name = "kube-state-metrics"
image = "quay.io/coreos/kube-state-metrics:v1.7.2"

port {
name = "http-metrics"
container_port = 8080
}

port {
name = "telemetry"
container_port = 8081
}

liveness_probe {
http_get {
path = "/healthz"
port = "8080"
}

initial_delay_seconds = 5
timeout_seconds = 5
}

readiness_probe {
http_get {
path = "/"
port = "8080"
}

initial_delay_seconds = 5
timeout_seconds = 5
}
}

service_account_name = "kube-state-metrics"
}
}
}
}

关于kubernetes - EKS kube系统部署CrashLoopBackOff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867679/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com