07C. kOps๋ก ํด๋ฌ์คํฐ ์์ฑํ๊ธฐ
07C. kOps๋ก ํด๋ฌ์คํฐ ์์ฑํ๊ธฐ ๊ด๋ จ
AWS์ kOps๋ก Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ ๊ตฌ์ฑ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
S3 ๋ฒํท ์์ฑํ๊ธฐ
kOps๋ก ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ์ธ์ฆ์์ ์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ S3 ๋ฒํท์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๋ค์ ๊ณผ์ ์ผ๋ก S3 ๋ฒํท์ ์์ฑํฉ๋๋ค.
- AWS ์ฝ์ ์ ์
- S3์ผ๋ก ์ด๋ 3
[๋ฒํท ๋ง๋ค๊ธฐ]
๋ฒํผ ํด๋ฆญ - ๋ฒํท ์ด๋ฆ์
clusters.k8s.hello.com
์ ๋ ฅ(clusters.k8s.hello.com
์ ์ ๊ฐ ์์ฑํ์ผ๋ฏ๋ก ๊ฐ์ ๋ค๋ฅธ ๊ฒ์ ์ ๋ ฅํฉ๋๋ค. ์:clusters.k8s.hello.com-1
). ๋ง์ฝ ๋๋ฉ์ธ์ ๊ตฌ์ ํ๋ค๋ฉดclusters.k8s.<๊ตฌ์ ํ ๋๋ฉ์ธ>
์ผ๋ก ์ ๋ ฅํฉ๋๋ค(<S3 ๋ฒํท ์ด๋ฆ>
). - AWS ๋ฆฌ์ ์
[ap-northeast-2]
๋ก ์ค์ [๋ฒํท ๋ง๋ค๊ธฐ]
๋ฒํผ ํด๋ฆญ
EC2 ํค ํ์ด ์์ฑํ๊ธฐ
์ด์ EC2 ์ธ์คํด์ค์ ์ ์ํ ํค ํ์ด๋ฅผ ์์ฑํ ์ฐจ๋ก์ ๋๋ค. ๋ค์ ๊ณผ์ ์ผ๋ก ํค ํ์ด๋ฅผ ์์ฑํ๊ณ ๋ค์ด๋ก๋ํฉ๋๋ค.
- AWS ์ฝ์ ์ ์
- EC2๋ก ์ด๋
[ํค ํ์ด]
๋ฉ๋ด ํด๋ฆญ[ํค ํ์ด ์์ฑ]
๋ฒํผ ํด๋ฆญ- ์ด๋ฆ์
[hello]
์ ๋ ฅ - ํ๋ผ์ด๋น ํค ํ์ผ ํ์์
[.pem]
์ ํ [ํค ํ์ด ์์ฑ]
๋ฒํผ ํด๋ฆญ
์ด๋ ๊ฒ ํ๋ฉด hello.pem
ํ์ผ์ด ๋ค์ด๋ก๋๋ฉ๋๋ค.
๋ค์ ๋ช
๋ น์ ์คํํ์ฌ Private Key์ธ hello.pem
์์ Public Key [hello.pub]
๋ฅผ ์ถ์ถํด๋
๋๋ค.
chmod 400 ./hello.pem
ssh-keygen -y -f ./hello.pem > hello.pub
icacls .\hello.pem /reset
icacls .\hello.pem /inheritance:r
icacls .\hello.pem /c /t /grant ${env:UserName}:F
ssh-keygen -y -f .\hello.pem | Out-File -Encoding ascii hello.pub
Route 53 ํธ์คํ ์์ญ ์์ฑํ๊ธฐ
kOps๋ก ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ ค๋ฉด Route 53 ํธ์คํ ์์ญ(hosted zone)์ด ํ์ํฉ๋๋ค.
๋๋ฉ์ธ์ ๊ตฌ์ ํ ๊ฒฝ์ฐ
๋๋ฉ์ธ์ ๊ตฌ์ ํ๋ค๋ฉด ๊ตฌ์ ํ ๋๋ฉ์ธ์ ๋ํ ํธ์คํ ์์ญ์ ์์ฑํฉ๋๋ค. AWS์์ ๋๋ฉ์ธ์ ๊ตฌ์ ํ๋ค๋ฉด ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค.
- AWS ์ฝ์ ์ ์
- Route 53์ผ๋ก ์ด๋
[ํธ์คํ ์์ญ]
๋ฉ๋ด ํด๋ฆญ[ํธ์คํ ์์ญ ์์ฑ]
๋ฒํผ ํด๋ฆญ- ๋๋ฉ์ธ ์ด๋ฆ์
[<๊ตฌ์ ํ ๋๋ฉ์ธ>]
์ ๋ ฅ [ํธ์คํ ์์ญ ์์ฑ]
๋ฒํผ ํด๋ฆญ
๋๋ฉ์ธ์ ๊ตฌ์ ํ์ง ์์ ๊ฒฝ์ฐ
๋๋ฉ์ธ์ ๊ตฌ์ ํ์ง ์์ ๊ฒฝ์ฐ ํ๋ผ์ด๋น ํธ์คํ ์์ญ์ ์์ฑํฉ๋๋ค.
- AWS ์ฝ์ ์ ์
- Route 53์ผ๋ก ์ด๋
[ํธ์คํ ์์ญ]
๋ฉ๋ด ํด๋ฆญ[ํธ์คํ ์์ญ ์์ฑ]
๋ฒํผ ํด๋ฆญ- ๋๋ฉ์ธ ์ด๋ฆ์
[hello.com]
์ ๋ ฅ - ์ ํ์
[ํ๋ผ์ด๋น ํธ์คํ ์์ญ]
์ ํ - ๋ฆฌ์ ์
์์์ ํํ์(์์ธ) [ap-northeast-2]
์ ํ - VPC ID๋ ๊ธฐ๋ณธ VPC ์ ํ
[ํธ์คํ ์์ญ ์์ฑ]
๋ฒํผ ํด๋ฆญ
YAML ํ์ผ ์์ฑํ๊ธฐ
kOps๋ ์ปค๋งจ๋๋ผ์ธ ์ต์ ์ ์ฌ์ฉํ์ฌ ์ค์ ์ ํ๋ ๋ฐฉ์์ด์ง๋ง, ์ค์ ํ์ผ์ Git ๋ฑ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก YAML๋ก ๋ง๋ญ๋๋ค.
๋๋ฉ์ธ์ ๊ตฌ์ ํ ๊ฒฝ์ฐ
์๋ s3://clusters.k8s.<๊ตฌ์
ํ ๋๋ฉ์ธ>
์ ๋ณธ์ธ์ด ์์ฑํ S3 ๋ฒํท์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ --name
๊ณผ YAML ํ์ผ๋ช
์๋ k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>
์ ์
๋ ฅํฉ๋๋ค.
@tab macOS, ๋ฆฌ๋ ์ค
export KOPS_STATE_STORE=s3://clusters.k8s.<๊ตฌ์
ํ ๋๋ฉ์ธ>
kops create cluster --name=k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> --cloud=aws --zones='ap-northeast-2a,ap-northeast-2b,ap-northeast-2c' --dry-run -o yaml > k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml
@tab ์๋์ฐ PowerShell
$env:KOPS_STATE_STORE="s3://clusters.k8s.<๊ตฌ์
ํ ๋๋ฉ์ธ>"
kops create cluster --name=k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> --cloud=aws --zones='ap-northeast-2a,ap-northeast-2b,ap-northeast-2c' --dry-run -o yaml > k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml
:::
์ธ๊ทธ๋ ์ค๋ฅผ ์์ฑํ์ ๋ Route 53์ ๋ ์ฝ๋๋ฅผ ์๋ ์์ฑํ ์ ์๋๋ก k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml
ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์ ํด์ค๋๋ค. ์ฆ, spec
์๋์ externalDns.watchIngress
๋ฅผ true
๋ก ์ค์ ํด์ค๋๋ค.
k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml
apiVersion: kops.k8s.io/v1alpha2
kind: Cluster
metadata:
creationTimestamp: null
name: k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>
spec:
externalDns:
watchIngress: true
api:
dns: {}
authorization:
rbac: {}
๋๋ฉ์ธ์ ๊ตฌ์ ํ์ง ์์ ๊ฒฝ์ฐ
์๋ s3://<S3 ๋ฒํท ์ด๋ฆ>
์ ๋ณธ์ธ์ด ์์ฑํ S3 ๋ฒํท์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค. ํ์ง๋ง, --name
๊ณผ YAML ํ์ผ๋ช
์๋ k8s.ap-northeast-2.aws.hello.com
์ ๊ทธ๋๋ก ์
๋ ฅํด์ผ ํฉ๋๋ค.
::: tab
@tab:active macOS, ๋ฆฌ๋ ์ค
export KOPS_STATE_STORE=s3://<S3 ๋ฒํท ์ด๋ฆ>
kops create cluster --name=k8s.ap-northeast-2.aws.hello.com --cloud=aws --zones='ap-northeast-2a,ap-northeast-2b,ap-northeast-2c' --dns private --dry-run -o yaml > k8s.ap-northeast-2.aws.hello.com.yaml
@tab ์๋์ฐ PowerShell
$env:KOPS_STATE_STORE="s3://<S3 ๋ฒํท ์ด๋ฆ>"
kops create cluster --name=k8s.ap-northeast-2.aws.hello.com --cloud=aws --zones='ap-northeast-2a,ap-northeast-2b,ap-northeast-2c' --dns private --dry-run -o yaml > k8s.ap-northeast-2.aws.hello.com.yaml
:::
YAML ํ์ผ๋ก ํด๋ฌ์คํฐ ์์ฑํ๊ธฐ
์ด์ ์์์ ๋ง๋ YAML ํ์ผ๋ก ํด๋ฌ์คํฐ๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ ๋ค์ ๋ช
๋ น์ ์คํํ์ฌ S3์ ํด๋ฌ์คํฐ ์ค์ ๋ฐ sshpublickey
๋ฅผ ์ ์ฉํฉ๋๋ค. ์์ง์ EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋์ง ์์ต๋๋ค.
๋๋ฉ์ธ์ ๊ตฌ์ ํ ๊ฒฝ์ฐ
cat ./k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml | kops create -f -
kops create sshpublickey --name k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> -i hello.pub
cat .\k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>.yaml | kops create -f -
kops create sshpublickey --name k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> -i hello.pub
์ด์์ด ์์ผ๋ฉด ์ค์ ๋ก ์ ์ฉ์ ํด๋ด ๋๋ค. ์ด์ ์ค์ ๋ก EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋ฉ๋๋ค.
kops update cluster --name k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> --yes
#
# *********************************************************************************
#
# A new kops version is available: 1.25.2
# Upgrading is recommended
# More information: https://github.com/kubernetes/kops/blob/master/permalinks/upgrade_kops.md#1.25.2
#
# *********************************************************************************
#
# I1125 12:16:09.581824 9528 executor.go:111] Tasks: 0 done / 109 total; 48 can run
# W1125 12:16:09.693436 9528 vfs_castore.go:379] CA private key was not found
# I1125 12:16:09.699437 9528 keypair.go:225] Issuing new certificate: "etcd-manager-ca-events"
# I1125 12:16:09.712633 9528 keypair.go:225] Issuing new certificate: "apiserver-aggregator-ca"
# I1125 12:16:09.727296 9528 keypair.go:225] Issuing new certificate: "etcd-peers-ca-events"
# I1125 12:16:09.730567 9528 keypair.go:225] Issuing new certificate: "etcd-manager-ca-main"
# I1125 12:16:09.732792 9528 keypair.go:225] Issuing new certificate: "etcd-peers-ca-main"
# I1125 12:16:09.733800 9528 keypair.go:225] Issuing new certificate: "etcd-clients-ca"
# W1125 12:16:09.734626 9528 vfs_castore.go:379] CA private key was not found
# I1125 12:16:09.757601 9528 keypair.go:225] Issuing new certificate: "kubernetes-ca"
# I1125 12:16:09.765643 9528 keypair.go:225] Issuing new certificate: "service-account"
# I1125 12:16:10.774088 9528 executor.go:111] Tasks: 48 done / 109 total; 23 can run
# I1125 12:16:11.666874 9528 executor.go:111] Tasks: 71 done / 109 total; 30 can run
# I1125 12:16:12.317385 9528 executor.go:111] Tasks: 101 done / 109 total; 4 can run
# I1125 12:16:13.289549 9528 executor.go:155] No progress made, sleeping before retrying 4 task(s)
# I1125 12:16:23.304076 9528 executor.go:111] Tasks: 101 done / 109 total; 4 can run
# I1125 12:16:25.822231 9528 executor.go:111] Tasks: 105 done / 109 total; 4 can run
# I1125 12:16:25.919122 9528 executor.go:111] Tasks: 109 done / 109 total; 0 can run
# I1125 12:16:27.221437 9528 dns.go:238] Pre-creating DNS records
# I1125 12:16:27.817503 9528 update_cluster.go:326] Exporting kubeconfig for cluster
# kOps has set your kubectl context to k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>
# W1125 12:16:27.845592 9528 update_cluster.go:350] Exported kubeconfig with no user authentication; use --admin, --user or --auth-plugin flags with `kops export kubeconfig`
#
# Cluster is starting. It should be ready in a few minutes.
#
# Suggestions:
# * validate cluster: kops validate cluster --wait 10m
# * list nodes: kubectl get nodes --show-labels
# * ssh to the master: ssh -i ~/.ssh/id_rsa ubuntu@api.k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ>
# * the ubuntu user is specific to Ubuntu. If not using Ubuntu please use the appropriate user based on your OS.
# * read about installing addons at: https://kops.sigs.k8s.io/addons.
#
AWS ์ฝ์์์ EC2 ์ธ์คํด์ค ๋ชฉ๋ก์ ํ์ธํด๋ณด๋ฉด ๋ง์คํฐ์ ์์ปค ๋ ธ๋๋ค์ด ์์ฑ๋๊ณ ์์ ๊ฒ์ ๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ~/.kube/config
์ ๋ฐฉ๊ธ ์์ฑํ ํด๋ฌ์คํฐ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
kops export kubeconfig --admin
์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ณ ํด๋ฌ์คํฐ๊ฐ ์ด๊ธฐํ๋ฉ๋๋ค. kubectl get nodes
๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋
ธ๋ฃ ๋ชฉ๋ก์ ์ถ๋ ฅํด๋ด
๋๋ค.
kubectl get nodes
#
# NAME STATUS ROLES AGE VERSION
# i-01a4d885fd48acc61 Ready control-plane 4m4s v1.25.4
# i-082f35a3d294a5e7d Ready node 54s v1.25.4
# i-0c48a73869254c456 Ready node 37s v1.25.4
# i-0e5dad97f6500d40a Ready node 51s v1.25.4
๋๋ฉ์ธ์ ๊ตฌ์ ํ์ง ์์ ๊ฒฝ์ฐ
cat ./k8s.ap-northeast-2.aws.hello.com.yaml | kops create -f -
kops create sshpublickey --name k8s.ap-northeast-2.aws.hello.com -i hello.pub
cat .\k8s.ap-northeast-2.aws.hello.com.yaml | kops create -f -
kops create sshpublickey --name k8s.ap-northeast-2.aws.hello.com -i hello.pub
์ด์์ด ์์ผ๋ฉด ์ค์ ๋ก ์ ์ฉ์ ํด๋ด ๋๋ค. ์ด์ ์ค์ ๋ก EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋ฉ๋๋ค.
kops update cluster --name k8s.ap-northeast-2.aws.hello.com --yes
#
# *********************************************************************************
#
# A new kops version is available: 1.25.2
# Upgrading is recommended
# More information: https://github.com/kubernetes/kops/blob/master/permalinks/upgrade_kops.md#1.25.2
#
# *********************************************************************************
#
# I1125 12:16:09.581824 9528 executor.go:111] Tasks: 0 done / 109 total; 48 can run
# W1125 12:16:09.693436 9528 vfs_castore.go:379] CA private key was not found
# I1125 12:16:09.699437 9528 keypair.go:225] Issuing new certificate: "etcd-manager-ca-events"
# I1125 12:16:09.712633 9528 keypair.go:225] Issuing new certificate: "apiserver-aggregator-ca"
# I1125 12:16:09.727296 9528 keypair.go:225] Issuing new certificate: "etcd-peers-ca-events"
# I1125 12:16:09.730567 9528 keypair.go:225] Issuing new certificate: "etcd-manager-ca-main"
# I1125 12:16:09.732792 9528 keypair.go:225] Issuing new certificate: "etcd-peers-ca-main"
# I1125 12:16:09.733800 9528 keypair.go:225] Issuing new certificate: "etcd-clients-ca"
# W1125 12:16:09.734626 9528 vfs_castore.go:379] CA private key was not found
# I1125 12:16:09.757601 9528 keypair.go:225] Issuing new certificate: "kubernetes-ca"
# I1125 12:16:09.765643 9528 keypair.go:225] Issuing new certificate: "service-account"
# I1125 12:16:10.774088 9528 executor.go:111] Tasks: 48 done / 109 total; 23 can run
# I1125 12:16:11.666874 9528 executor.go:111] Tasks: 71 done / 109 total; 30 can run
# I1125 12:16:12.317385 9528 executor.go:111] Tasks: 101 done / 109 total; 4 can run
# I1125 12:16:13.289549 9528 executor.go:155] No progress made, sleeping before retrying 4 task(s)
# I1125 12:16:23.304076 9528 executor.go:111] Tasks: 101 done / 109 total; 4 can run
# I1125 12:16:25.822231 9528 executor.go:111] Tasks: 105 done / 109 total; 4 can run
# I1125 12:16:25.919122 9528 executor.go:111] Tasks: 109 done / 109 total; 0 can run
# I1125 12:16:27.221437 9528 dns.go:238] Pre-creating DNS records
# I1125 12:16:27.817503 9528 update_cluster.go:326] Exporting kubeconfig for cluster
# kOps has set your kubectl context to k8s.ap-northeast-2.aws.hello.com
# W1125 12:16:27.845592 9528 update_cluster.go:350] Exported kubeconfig with no user authentication; use --admin, --user or --auth-plugin flags with `kops export kubeconfig`
#
# Cluster is starting. It should be ready in a few minutes.
#
# Suggestions:
# * validate cluster: kops validate cluster --wait 10m
# * list nodes: kubectl get nodes --show-labels
# * ssh to the master: ssh -i ~/.ssh/id_rsa ubuntu@api.k8s.ap-northeast-2.aws.hello.com
# * the ubuntu user is specific to Ubuntu. If not using Ubuntu please use the appropriate user based on your OS.
# * read about installing addons at: https://kops.sigs.k8s.io/addons.
#
AWS ์ฝ์์์ EC2 ์ธ์คํด์ค ๋ชฉ๋ก์ ํ์ธํด๋ณด๋ฉด ๋ง์คํฐ์ ์์ปค ๋ ธ๋๋ค์ด ์์ฑ๋๊ณ ์์ ๊ฒ์ ๋๋ค.
๋ค์ ๋ช
๋ น์ ์
๋ ฅํ์ฌ ~/.kube/config
์ ๋ฐฉ๊ธ ์์ฑํ ํด๋ฌ์คํฐ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
kops export kubeconfig --admin
์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ณ ํด๋ฌ์คํฐ๊ฐ ์ด๊ธฐํ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ค์ ๋ก hello.com
๋๋ฉ์ธ์ ๊ตฌ์
ํ์ง ์์์ผ๋ฏ๋ก, ๋ก์ปฌ์์ ์์๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ์ด์์ฒด์ ๋ณ๋ก ์ค์ ํ์ผ์ด ์กฐ๊ธ ๋ค๋ฅธ๋ฐ, ๊ฐ์ ์ด์์ฒด์ ์ ๋ง๋ ํ์ผ์ ์์ ํฉ๋๋ค.
IP ์ฃผ์๋ ํด๋ฌ์คํฐ์ ๋ง์คํฐ ๋ ธ๋ IP ์ฃผ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก IP ์ฃผ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
- AWS ์ฝ์ ์ ์
- EC2๋ก ์ด๋
[์ธ์คํด์ค]
๋ฉ๋ด ํด๋ฆญ- ์ด๋ฆ์ด
master-ap-northeast-2a.masters.k8s.ap-northeast-2.aws.hello.com
์ธ ์ธ์คํด์ค ํด๋ฆญ ํด๋ฆญ - ์ธ๋ถ ์ ๋ณด์
[ํผ๋ธ๋ฆญ IPv4 ์ฃผ์]
๋ถ๋ถ์ ๋ณต์ฌ(<๋ง์คํฐ ๋ ธ๋์ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์>)
๋ฆฌ๋
์ค, macOS๋ /etc/hosts
ํ์ผ์ ์์ ํด์ผ ํฉ๋๋ค. root ๊ถํ์ด ์์ด์ผ ํ๋ฏ๋ก sudo vim
์ผ๋ก ์์ ํฉ๋๋ค.
sudo vim /etc/hosts
/etc/hosts
ํ์ผ์ ๋ง์ง๋ง ๋ถ๋ถ์ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐํ ๋ค ์ ์ฅํฉ๋๋ค.
/etc/hosts
<๋ง์คํฐ ๋
ธ๋์ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์> api.k8s.ap-northeast-2.aws.hello.com
์๋์ฐ๋ C:\Windows\System32\drivers\etc\hosts
ํ์ผ์ ์์ ํด์ผ ํฉ๋๋ค. ๊ด๋ฆฌ์ ๊ถํ์ด ํ์ํ๋ฏ๋ก, ๋ฉ๋ชจ์ฅ์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํ ๋ค ํ์ผ์ ์ฝ๋๋ค.
C:\Windows\System32\drivers\etc\hosts
ํ์ผ์ ๋ง์ง๋ง ๋ถ๋ถ์ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐํ ๋ค ์ ์ฅํฉ๋๋ค.
C:\Windows\System32\drivers\etc\hoss
<๋ง์คํฐ ๋
ธ๋์ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์> api.k8s.ap-northeast-2.aws.hello.com
๋ฉ๋ชจ์ฅ์์ hosts ํ์ผ์ด ๋ณด์ด์ง ์๋๋ค๋ฉด
๋ฉ๋ชจ์ฅ์์ hosts ํ์ผ์ด ๋ณด์ด์ง ์๋๋ค๋ฉด, ์ด๊ธฐ ์ฐฝ์์ ์ด๊ธฐ(O) ๋ฒํผ ์์ **ํ ์คํธ ๋ฌธ์(.txt)**๋ฅผ **๋ชจ๋ ํ์ผ (.*)**๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋ฉ๋๋ค.
kubectl get nodes
๋ช
๋ น์ ์
๋ ฅํ์ฌ ๋
ธ๋ฃ ๋ชฉ๋ก์ ์ถ๋ ฅํด๋ด
๋๋ค. ๋
ธ๋ 4๊ฐ๊ฐ ์์ ํ ์์ฑ๋ ๋ค Ready ์ํ๊ฐ ๋ ๋๊น์ง ์๊ฐ์ด ๋ค์ ๊ฑธ๋ฆฝ๋๋ค. ๋
ธ๋๊ฐ ์ผ๋ถ๋ง ๋ณด์ธ๋ค๋ฉด ์กฐ๊ธ ๋ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ช
๋ น์ ์คํํด๋ด
๋๋ค.
kubectl get nodes
#
# NAME STATUS ROLES AGE VERSION
# i-01a4d885fd48acc61 Ready control-plane 4m4s v1.25.4
# i-082f35a3d294a5e7d Ready node 54s v1.25.4
# i-0c48a73869254c456 Ready node 37s v1.25.4
# i-0e5dad97f6500d40a Ready node 51s v1.25.4
์ด๋ ๊ฒ kOps๋ก AWS์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ์์ฑํด๋ณด์์ต๋๋ค. ๋ค์ ์ฅ์์๋ Nginx ์ธ๊ทธ๋ ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ์ค์นํ ๋ค ๋ก๋๋ฐธ๋ฐ์(AWS์ ELB)์ ์น ์๋ฒ ๋ํ๋ก์ด๋จผํธ์ ์๋น์ค๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
ํด๋ฌ์คํฐ ์ญ์ ๋ฐฉ๋ฒ
์ฌ๊ธฐ์ ๋ ์ด์ ์งํํ์ง ์๊ณ ํด๋ฌ์คํฐ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
kops delete cluster --name k8s.ap-northeast-2.aws.<๊ตฌ์
ํ ๋๋ฉ์ธ> --yes
# ๋๋
kops delete cluster --name k8s.ap-northeast-2.aws.hello.com --yes