๋กœ์ผ“๐Ÿพ
article thumbnail
๋ฐ˜์‘ํ˜•

ํ…Œ๋ผํผ์€ Code ๋กœ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” IaC Tool ์ž…๋‹ˆ๋‹ค.

ํŠนํžˆ AWS ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ ์ฐธ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ฃ .

 

module ์„ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ต์ง€ ์•Š๊ฒŒ VPC, EKS, ELB ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ…Œ๋ผํผ์„ ์ด์šฉํ•ด EKS ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช์€ ๋ฌธ์ œ์ ๊ณผ ์ด๋ฅผ ํ•ด๊ฒฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ์„  Apply!!


terraform-aws-eks ์— ๊ฐ€๋ณด๋ฉด ์•„์ฃผ ์นœ์ ˆํ•˜๊ฒŒ ํ…Œ๋ผํผ์„ ์ด์šฉํ•ด EKS ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

 

๋ฌด์ž‘์ • eks ๋ชจ๋“ˆ์„ import ํ•˜๊ณ  example ๊ณผ EKS Best Practices Guides ์ฐธ๊ณ ํ•˜์—ฌ ํ…Œ๋ผํผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

 

provider "kubernetes" {
  host                   = module.eks-main.cluster_endpoint
  cluster_ca_certificate = base64decode(module.eks-main.cluster_certificate_authority_data)

  exec {
    api_version = "client.authentication.k8s.io/v1beta1"
    command     = "aws"
    args = ["eks", "get-token", "--cluster-name", module.eks-main.cluster_id, "--profile", "dev"]
  }
}

module "eks-main" {
  source  = "registry.terraform.io/terraform-aws-modules/eks/aws"

  cluster_name    = local.name
  cluster_version = local.cluster_version

  cluster_endpoint_public_access  = false 
  cluster_endpoint_private_access = true

  manage_aws_auth_configmap = true
  aws_auth_users            = [...]
  
  ...
  
}

 

 

์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐˆ ํ•„์š”๊ฐ€ ์—†์–ด private_access ๋งŒ true ๋กœ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

...
  cluster_endpoint_public_access  = false 
  cluster_endpoint_private_access = true
...

 

 

์‹คํ–‰ํ•ด๋ณด์ฃ ! ๐Ÿ™

(ํ•œ๋ฒˆ์— ๊ฐ€์ž!)

 

$ terraform plan
$ terraform apply

 

 

์•„์ฃผ ์ž˜๋งŒ๋“ค์–ด ์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜ƒ

 

๋ชจ๋“  ๊ฒƒ์ด ์ˆœํƒ„ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง€๊ณ  ์žˆ๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ...

Error: The configmap "aws-auth" does not exist

 

๋ผ๋Š” ๋ฌธ๊ตฌ ๋œจ๋”๋‹ˆ failed ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฝ์–ด๋ณด๋‹ˆ "aws_auth" ๋ผ๋Š” configmap ์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•˜๋„ค์š”..

 

"aws_auth" ๋Š” EKS ๋‚ด์—์„œ ์‚ฌ์šฉํ•  AWS IAM ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋Š” configmap ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ์ž ์ƒˆ๋กœ์šด ์œ ์ €์˜ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜์ฃ !

๋ณดํ†ต EKS ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ์„ฑ์‹œ์ผœ์ฃผ๋Š” ๋ฐ ์™œ ์ฐพ์งˆ ๋ชปํ•˜๋Š” ๊ฑธ๊นŒ์š”..?? ๐Ÿคจ

 

๋Š˜ ํ•œ๋ฒˆ์— ๋˜๋ฉด ์ด์ƒํ•˜์ง€..๐Ÿง


์„ค๋ ˜์€ ์—†์–ด์ง€๊ณ .. ๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง์„ ์‹œ๋„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค!!

๋‹คํ–‰ํžˆ Issues ์— ์ €์™€ ๊ฐ™์€ ๋ฌธ์ œ๋Š” ๊ฒช๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค ๐ŸคŸ

 

์ €๋ž‘ ์™„์ „ํžˆ ๊ฐ™์€ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ฝ”๋ฉ˜ํŠธ๋„ 69๊ฐœ๊ฐ€ ๋˜๋Š” ๊ฑธ ๋ณด๋‹ˆ ์ˆœํƒ„ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™์•„์š” ๐Ÿ˜Ž

 

์ฒซ๋ฒˆ์งธ ์‹œ๋„ 1๏ธโƒฃ


์•„~ create_aws_auth_configmap = true ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”๊ตฐ์š”?

 

๐Ÿ‘ ์ด 4๊ฐœ์ธ๊ฑธ ๋ณด๋‹ˆ ๋ฏฟ์Œ์ด ๊ฐ‘๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์ถ”๊ฐ€ํ•ด๋ณด์ฃ !

 

module "eks-main" {
  source  = "registry.terraform.io/terraform-aws-modules/eks/aws"

  cluster_name    = local.name
  cluster_version = local.cluster_version

  cluster_endpoint_public_access  = false 
  cluster_endpoint_private_access = true
  
  
  create_aws_auth_configmap = true //์ถ”๊ฐ€
  manage_aws_auth_configmap = true
  aws_auth_users            = [...]
  
  ...
  
}

 

 

๋ฐ”๋กœ ์‹คํŒจํ•ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค..

 

 

๊ทผ๋ฐ ์—๋Ÿฌ ๋ฌธ๊ตฌ๊ฐ€ ์ข€ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฏธ ์กด์žฌํ•˜๋Š”๊ตฐ์š”...

 

๋ชจ๋“ˆ์˜ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ํ™•์ธํ•ด๋ณด์ฃ !

 

resource "kubernetes_config_map" "aws_auth" {
  count = var.create && var.create_aws_auth_configmap ? 1 : 0

  metadata {
    name      = "aws-auth"
    namespace = "kube-system"
  }

  data = local.aws_auth_configmap_data

  lifecycle {
    # We are ignoring the data here since we will manage it with the resource below
    # This is only intended to be used in scenarios where the configmap does not exist
    ignore_changes = [data]
  }
}

 

create_aws_auth_configmap ์„ true ๋กœ ์ฃผ๋ฉด kube-system ์ด๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— aws-auth ๋ผ๋Š” ConfigMap ์„ ์ƒ์„ฑ์‹œ์ผœ์ค€๋‹ค๊ณ  ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๊ฒ ๊ตฐ์š”.

 

๊ทผ๋ฐ ์ด๋ฏธ EKS Cluster ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ๋‚ด๋ถ€์—” aws-auth ๋ผ๋Š” configmap ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

resource "kubernetes_config_map_v1_data" "aws_auth" {
  count = var.create && var.manage_aws_auth_configmap ? 1 : 0

  force = true

  metadata {
    name      = "aws-auth"
    namespace = "kube-system"
  }

  data = local.aws_auth_configmap_data

  depends_on = [
    # Required for instances where the configmap does not exist yet to avoid race condition
    kubernetes_config_map.aws_auth,
  ]
}

manage_aws_auth_configmap ์„ true ๋กœ ์ฃผ๋ฉด ๋ฆฌ์†Œ์Šค์— ์ •์˜๋œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

force ๋ผ๋Š” ์˜ต์…˜ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์žˆ๋˜ aws-auth ๋Š” ์žฌ์ •์˜ ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฒซ๋ฒˆ์งธ ์‹œ๋„ ๊ฒฐ๊ณผ ๐Ÿ‘Ž

์ด๋ฏธ EKS Cluster ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ aws-auth ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , 
create_aws_auth_configmap  ์˜ต์…˜์€ ๋‹ค์‹œ ํ•œ๋ฒˆ aws-auth ์ƒ์„ฌํ•จ์œผ๋กœ์จ ์ค‘๋ณต ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊นƒํ—™์— ๋‹ฌ๋ฆฐ ์ด ์ฝ”๋ฉ˜ํŠธ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์—” ๋ถ€์กฑํ•˜๊ตฐ์š”..

 

๋‘๋ฒˆ์งธ ์‹œ๋„ 2๏ธโƒฃ


์•„๋ž˜๋กœ ๋‚ด๋ฆฌ๋‹ค๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Make sure you are on VPN or in the network you want to access cluster from

๋จธ๋ฆฟ์†์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์Šค์ณ๊ฐ‘๋‹ˆ๋‹ค๐Ÿ’ก

 

์žฌ๋นจ๋ฆฌ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด๋ณด์ฃ !!

์‹ค๋งˆ๋ฆฌ๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์œ„์—์„œ Endpoint ๋ฅผ private ๋งŒ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.


์™œ๋ƒํ•˜๋ฉด DEV ํ™˜๊ฒฝ์€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ ‘๊ทผํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ์ƒˆ๋กœ์šด VPC ์— EKS ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๊ณ ์š” !!

 

๊ฐ์ด ์˜ค์‹œ๋‚˜์š”?๐Ÿค“

 

์ง€๊ธˆ EKS ๊ฐ€ ์žˆ๋Š” VPC ๋Š” ์–ด๋Š VPC ์™€๋„ Peer or Share ๋˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ง์€ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋œ VPC ๋ผ๋Š” ๊ฑฐ์ฃ . ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ด๋ ‡์Šต๋‹ˆ๋‹ค.

 

์ €๋Š” ์ง€๊ธˆ ์ƒํ™ฉ์œผ๋กœ๋Š” ์ € ๊ฒฉ๋ฆฌ๋œ VPC ๋‚ด์— ์กด์žฌํ•˜๋Š” EKS ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ฒŒ ์ •๋ง์ธ์ง€ ๊ฒ€์ฆํ•ด๋ณด๊ธฐ ์œ„ํ•ด ์ƒ์„ฑํ•œ EKS API ์„œ๋ฒ„์— curl ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

$ TOKEN=${aws eks get-token --cluster-name <cluster-name>}
$ curl --header "Authorization: Bearer ${TOKEN}" -k -X GET ${APISERVER}/api/v1/namespaces/kube-system/configmaps

 

์ œ ๊ฐ์ด ๋งž๋‹ค๋ฉด ์‘๋‹ต์€ ์˜ค์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

curl: (28) Failed to connect to <API Server> 443 after 214968 ms: Connection timed out

์˜ˆ์ƒํ–ˆ๋˜ ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์ € VPC ๋‚ด์— ์žˆ๋Š” EKS Api Server ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ• ๊นŒ์š”?๐Ÿง

 

ํ•ด๊ฒฐ?! ๐Ÿค”


๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ ์ € ๊ฒฉ๋ฆฌ๋œ VPC ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ €๋Š” ๋‹ค์Œ 2๊ฐ€์ง€๋ฅผ ๊ณ ๋ คํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

  1. Bastion Host(Public) ์ด์šฉํ•ด์„œ ์ ‘๊ทผ
  2. TGW ๋ฅผ ์ด์šฉํ•œ ์ ‘๊ทผ

 

์—ฌ๊ธฐ์„  1๋ฒˆ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜ƒ

(์‹ค์ œ๋กœ๋Š” 2๋ฒˆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค)

 

์ง„ํ–‰ ๋ฐฉ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. EKS ๊ฐ€ ๋ฐฐํฌ๋œ VPC ์•ˆ์— EC2 ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.


๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋˜๊ฒ ์ฃ .

Bastion Host ๋Š” ํผ๋ธ”๋ฆญ์— ์กด์žฌํ•˜๋‹ˆ ์—ฌ๊ธฐ๋กœ ssh ํ•œ ํ›„ Host ์•ˆ์—์„œ ํ˜ธ์ถœํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ Bastion Host ์— ์ ‘์†ํ•˜์—ฌ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ ค๋ณด์ฃ  ๐Ÿ”ฅ๐Ÿ”ฅ

$ curl --header "Authorization: Bearer ${TOKEN}" -k -X GET ${APISERVER}/api/v1/namespaces/kube-system/configmaps

 

์–ด.. ๊ทผ๋ฐ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค...

curl: (28) Failed to connect to <API Server> 443 after 214968 ms: Connection timed out

 

์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ time out ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.. ๐Ÿ˜ณ๐Ÿ˜ณ๐Ÿ˜ณ๐Ÿ˜ณ๐Ÿ˜ณ

VPC ๋‚ด๋ถ€์— ์ ‘๊ทผํ•ด์„œ curl ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ฆฌ๋ฉด ๋ชปํ•ด๋„ 4xx ์ฝ”๋“œ๋Š” ์˜ฌ ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค..

 

๋‹ค์‹œ ํ•œ๋ฒˆ ๋ฏธ๊ถ์— ๋น ์ง‘๋‹ˆ๋‹ค ๐Ÿค”

 

์„ธ๋ฒˆ์งธ ์‹œ๋„ 3๏ธโƒฃ


EKS ์ž์ฒด์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฑธ๊นŒ์š”? VPC ๋‚ด๋ถ€์— ์žˆ๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜๋Š” ๊ฑธ๊นŒ์š”?

 

๋งŽ์€ ์˜๋ฌธ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.. ๊ทธ๋Ÿฌ๋˜ ์ค‘ !!

 

์ด๊ฑธ ์ถ”๊ฐ€ํ•˜๋ผ๋Š” ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์•„~ ์ด์ œ ์ง„์งœ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ํ•ด๋‹ต์€ Security Group ์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘๐Ÿ‘

 

ํ•ด๊ฒฐ!! ๐Ÿ˜Œ


๊ทธ๋Ÿผ ๋ฐ”๋กœ security_group_resource ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์ฃ .

 cluster_security_group_additional_rules = {
    ingress = {
      description                = "EKS Cluster allows 443 port to get API call"
      type                       = "ingress"
      from_port                  = 443
      to_port                    = 443
      protocol                   = "TCP"
      cidr_blocks                = ["0.0.0.0/0"] 
      source_node_security_group = false
    }
  }

 

๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ฃ . ๊ฐ„์žฅ๋˜๋Š” ์ˆœ๊ฐ„์ž…๋‹ˆ๋‹ค .. ๐Ÿพ ๐Ÿพ

$ terraform plan
$ terraform apply

๋‚˜์˜ฌ๊ฒŒ ๋‚˜์™”๊ตฐ์š” ๐ŸŒˆ๐ŸŒˆ๐ŸŒˆ

 

curl ๋ช…๋ น์–ด๋กœ ๋‹ค์‹œ ๋‚ ๋ ค๋ณด์ฃ  !

$ curl --header "Authorization: Bearer ${TOKEN}" -k -X GET ${APISERVER}/api/v1/namespaces/kube-system/configmaps

 

์ด๋ฒˆ์—” time out ๋˜์ง€ ์•Š๊ณ  ์‘๋‹ต๊ฐ’์ด ์™”์Šต๋‹ˆ๋‹ค !

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}

401 ์‘๋‹ต ์ฝ”๋“œ์ง€๋งŒ EKS Api Server ์— ์„ฑ๊ณต์ ์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Ž

 

๊ทธ๋Ÿผ ๋‹ค์‹œ ๊ฐ€์žฅ ์ฒ˜์Œ ๋ฐœ์ƒํ–ˆ๋˜ ์—๋Ÿฌ๋ฅผ ํ™•์ธํ•ด๋ณผ๊นŒ์š”??

Error: The configmap "aws-auth" does not exist

 

์ด์ œ๋Š” ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋‹ค์‹œ๋Š” Error: The configmap "aws-auth" does not exist ๋ฅผ ๋ณด์ง€ ์•Š์œผ๋ฆฌ...!!

 

์•„๋ฌดํŠผ ์ด๋ฒˆ ์—๋Ÿฌ๋„ ๋ฌด์‚ฌํžˆ ํ•ด๊ฒฐํ–ˆ๋‹ค ๐Ÿ‘

๋ฐ˜์‘ํ˜•
profile on loading

Loading...