JPA ๋ฅผ ๊ณต๋ถํ๊ธฐ ์ํด API ์๋ฒ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ฉด์, ๋์ปค ๊ณต๋ถ๋ ๋ณํ์ ํ๊ธฐ๋กํ์๋ค.๋์ปค ๋น๋ ์์น๋ฅผ ํฐ๋ฏธ๋์ ํ์ฌ ๋๋ ํ ๋ฆฌ๋ก ์ง์ ํ ๊ฑฐ๋ผ์ DockerFile์ ํ๋ก์ ํธ ๋ฐ๋ก ์๋ ์์น์์ผฐ๋ค.build -t ๋์ปคํ๋ธ์ด๋ฆ/๋ ํฌ์งํ ๋ฆฌ ๋น๋ํ ๋๋ ํฐ๋ฆฌ๊ตฌ๊ธ๋งํ๋ฉด์ ๊ณต๋ถํ
๋ฐฉ๋ฒ:https://yeonyeon.tistory.com/72?category=920206๊ฐ๋ :https://livelyoneweek.tistory.com/14
๋ถ์ฌํ ๊ถํIAM ์ฌ์ฉ์ ์์ฑ ํ ๊ณ์ ์ MFA์ค์ ๋ฐ ์ก์ธ์ค ํค๋ฅผ ํ ๋น ํ์๋ค.์์ฑํ ์ก์ธ์ค ํค๋ฅผ Travis CI ๋ ํฌ์งํ ๋ฆฌ ํ๋ก์ ํธ์ ํ๊ฒฝ๋ณ์์ ์ถ๊ฐํ์๋ค.secret_access_key๋ผ๋ ์ต์ ์ด ์๋ชป๋์๋ค๊ณ ํ๋ค.์ฐพ์๋ณด๋ Travis CI ๋ ํฌ์งํ ๋ ์ด ์ค์ ํด๋
์๋ง์กด ๊ณต์ ๋ฌธ์:https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/codedeploy-agent-operations-install-ubuntu.html wget https://aws-cod
์๋ฌด๋ฆฌ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐ๋ผํด๋ด๋ ์๋์ .travis.yml ํ์ผ๊ณผ appspec.yml์ ๋๋ท์์ด ๊ฑด๋ค๊ธฐ๋งํ ๋ฟ ๋ ๋์์ง์ง ์์์...๊ทธ๋์ CodeDeploy์ ๋ก๊ทธํ์ผ์ ํ๋ฒ ๋ณด์๋ค..AWS CodeDeploy ๋ก๊ทธ ๋ฐ์ดํฐ ํ์ธ (๊ณต์๋ฌธ์)๋๋ฌด ๋ง์์ ํ์ธํ๊ธฐ ์ด๋ ค์์
์คํ๋ง๋ถํธ ํ๋ก์ ํธ + ๋์ปคํ๋ธ + Travis CI
Travis CI + S3 + CodeDeploy + SpringBoot + Docker + nginx ๋ฐฐํฌ ๊ณผ์
https://docs.travis-ci.com/user/job-lifecycle/!\[](https://velog.velcdn.com/images/99_insung/post/77cf0de2-1edd-4d7b-b25d-4b43d67f30b2/image
./gradlew ์ฌ์ฉํด์ ์คํhttps://sangchul.kr/entry/%EC%9B%90%EB%8F%84%EC%9A%B0-Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Gradle%EB%A1%9C-Docker-%E
๋ง์ดํฌ๋ก ์๋น์ค : ์๋น์ค๋ฅผ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ ผ๋ฆฌ, ์ํ ๋ฐ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ก ๊ธฐ๋ฅ์ ๋ถ๋ฆฌ์ปจํ ์ด๋ : ์ฝ๋, ํด๋น ์์กด์ฑ ๋ฐ ๋ฐํ์์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ผ๋ ์ด์ง ํ์ผ๋ก ํจํค์งDevOps : ๊ฐ๋ฐ-์ด์ํ๊ฐ ํ์ ํ๋ก์ธ์คCI/CDhttps://learn.
sudo docker pull ์ด๋ฏธ์ง๋ช sudo docker rmi ์ด๋ฏธ์ง๋ช sudo docker run -d --name ์ปจํ ์ด๋๋ช ์ด๋ฏธ์งํ์ผ\-d : ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ\-- name: ์ปจํ ์ด๋๋ช ์ง์ sudo docker create -p 80:80 --name nx n
์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ฑํ๋ ๋ ์ด์ด๊ฐ ์กด์ฌํ ๋, ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ๋ค์ด๋ฐ๊ฑฐ๋ ํธ์ํ๋๊ฒ ์๋๋ผ ๋ ์ด์ด์ ์ ๋ฌด์ ๋ฐ๋ผ์ ๋์ํ๊ฒ ๋๋ค. sudo docker pull ์ด๋ฏธ์ง : ๋์ปค ์ด๋ฏธ์ง ๋ค์ด๋ก๋sudo docker inspect ์ด๋ฏธ์ง : ์ด๋ฏธ์ง์ ๋ํ ์ ๋ณด ํ์ธ\-> Root
Standard: ๊ฐ์๋จธ์ ๋ฐฐ์นํด์ค (๊ฐ์๋จธ์ ๋น ๋น์ฉ), ๋ง์คํฐ/์ํฌ ๋ ธ๋ ๋ฑAutoPilot : ๊ฐ์๋จธ์ ์์ฃผ๊ณ ๋ ธ๋๋ฅผ ๊ตฌ๊ธ์์ ์ง์ ๊ด๋ฆฌ, ์ปจํ ์ด๋๋ง ๋ฐฐ์น์์ผ์ ์๋น์ค ์ ๊ณต (์ปจํ ์ด๋ ๋น ๋น์ฉ), ์๋ฒ๋ฆฌ์ค์์ญ: ํ๊ณณ์ ๋ฐฐ์น๋ฆฌ์ : ๋ถ์ฐ ๋ฐฐ์น๋ฒ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ ํkub
https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
์ฟ ๋ฒ๋คํฐ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ๋จ์ํฌ๋ ๋ด์ ์ํ ์ปจํ ์ด๋๋ค์ ์๋ก ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํจhttps://www.redhat.com/ko/topics/containers/what-is-kubernetes-podํฌ๋๋ ํ๋์ ๋ ธ๋์์์ ์คํ๋๋คํฌ๋์์ ๋ค์์ ์ปจํ ์ด
์ปจํ ์ด๋ ์ด์๋์ง ํ๋จ ํ ๋ค์ ์์ํ๋ ๊ธฐ๋ฅ์ปจํ ์ด๋ ์ํ๋ฅผ ์ค์ค๋ก ํ๋จํ์ฌ ๊ต์ฐฉ์ํ์ ๋น ์ง ์ปจํ ์ด๋ ์ฌ์์ํฌ๋๊ฐ ์ค๋น๋ ์ํ์ ์๋์ง ํ์ธํ๊ณ ์ ์ ์๋น์ค ์์ํ๋ ๊ธฐ๋ฅํฌ๋๊ฐ ์ ์ ํ๊ฒ ์ค๋น๋์ง ์์ ๊ฒฝ์ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํ์ง ์์์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์๊ธฐํ์ธํ์ฌ ๊ฐ์ฉ์ฑ์
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/Pod๊ณผ ๊ฐ์ object์ key/value ์์ ์ง์ ํ๋ ์ญํ . (key๋ uniqueํด์ผํจ)Label ์ ์ ์ ์๊ฒ ์๋ฏธ์๊ฑฐ๋
https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ReplicaSet์ replica Pod์ด ์ธ์ ๋ ์ง ์คํ๋ ์ ์๋๋ก ์์ ๋ set์ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉํจ.ํน์ ์๋ณ์๋ฅผ ๊ฐ์ง๋ Pod
https://velog.io/@koo8624/Kubernetes-AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%97%90-Kubernetes-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EA%B5
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/Deployment๋ Pod์ ReplicaSet์ ์ ์ธ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํจ.Deployment ๋ด๋ถ์ ์ํ๋ ์ํ๋ฅผ ์์ฑํ๊ณ , ์ปจํธ
๋จ์ผ ํด๋ฌ์คํฐ์์ ๋ฆฌ์์ค๋ฅผ ๊ฒฉ๋ฆฌ๋ ๊ณต๊ฐ์ผ๋ก ๋๋์ด ์ฌ์ฉ๊ฐ๋ฅํจ.์ฌ๋ฌ๊ฐ์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋๋ ์ ์ฌ์ฉ ๊ฐ๋ฅํจ.์ฟ ๋ฒ๋คํฐ์ค ํ๋๋ฅผ ์ฌ๋ฌ ํ/์ฌ์ฉ์๊ฐ ๊ณต์ ํ์ฌ ์ฌ์ฉํจ.๋ฆฌ์์ค ์ด๋ฆ์ ๋ค์์คํ์ด์ค ๋ด์์๋ง ๊ณ ์ ํ๊ฒ ์ฌ์ฉ๋จ (๋ค๋ฅธ ๋ค์์คํ์ด์ค์์ ๊ฐ์ ์ด๋ฆ ์กด์ฌ ๊ฐ๋ฅ)kubectl g
์ฟ ๋ฒ๋คํฐ์ค ์์คํ ์ปดํฌ๋ํธ - api์๋ฒ ํต์ ๋๋ง ํต์ ํจ์ปดํฌ๋ํธ ๋ผ๋ฆฌ ์ง์ ํต์ xetcd์ ํต์ ํ๋ ์ ์ผํ ์ปดํฌ๋ํธ api์๋ฒRestful API๋ฅผ ํตํด ํด๋ฌ์คํฐ ์ํ๋ฅผ ์ฟผ๋ฆฌ, ์์ ํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต์ญํ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ์ธ์ฆ๊ถํ ์น์ธ ํ๋ฌ๊ทธ์ธ์
์ปดํฌ๋ํธ ํ๋ ์ธ์์ํด ์์ฑ๋ ํฌ๋๊ฐ ์๋๋ผ, ๋ ธ๋์ ํ์์ฑ์ ์ํด kubelet์ด ์ง์ ์คํํ Podapiserver๋ฅผ ํตํด์ ์์ฑ๋๊ฒ ์๋๊ธฐ ๋๋ฌธ์ apiserver๋ฅผ ํตํด ์คํํฑํฌ๋ ์ญ์ ๋ ๋ถ๊ฐ๋ฅํ๋ค๊ธฐ๋ณธ๊ฒฝ๋ก : /etc/kubernetes/manifestsํด๋น ํ์ผ
https://github.com/etcd-io/etcd/releaseswget https://github.com/etcd-io/etcd/releases/download/v3.5.9/etcd-v3.5.9-linux-amd64.tar.gzsudo ETC
ํฌ๋๋ ์ปจํธ๋กค๋ฌ์์ํด ๊ด๋ฆฌ๋๋ฏ๋ก ํ๊ตฐ๋ฐ์ ๊ณ ์ ๋์ด ์์ง์๊ณ , ํด๋ฌ์คํฐ ๋ด๋ถ๋ฅผ ์ฎ๊ฒจ๋ค๋.ํด๋น ๊ณผ์ ์์ ๋ ธ๋๊ฐ ์ฎ๊ธฐ๋ฉด์ ์คํ๋๊ณ , ํด๋ฌ์คํฐ ์ ํ๋์ IP๊ฐ ๋ณ๊ฒฝ๋จํฌ๋๊ฐ ์ง์์ ์ผ๋ก ์์ฑ๋ ๋ ์๋น์ค๋ฅผ ํ๊ธฐ์ ์ ํฉํ์ง ์์.์๋น์ค๋ฅผ ์ด์ฉํ์ฌ ํ๋๊ฐ ํด๋ฌ์คํฐ ์ ์ด๋์ ์๋ ๊ณ
https://kubernetes.io/ko/docs/concepts/services-networking/service/์๋น์ค yamlํ์ผ๋ก ์์ฑ30000~32767 ํฌํธ๋ง ์ฌ์ฉ ๊ฐ๋ฅgcloud compute firewall-rules create http-g
https://kubernetes.io/ko/docs/concepts/services-networking/ingress/ํ๋์ IP๋ ๋๋ฉ์ธ์ผ๋ก ๋ค์์ ์๋น์ค ์ ๊ณตMSAํ๊ฒฝ ์ ๊ณตhttps://kubernetes.io/ko/docs/concepts/se
Deployment.yamlService.yamlingress.yaml ์๋ฌด๋ฆฌ ์คํํด๋ ์ธ๋ถ์์ ์ ์์ด ์๋๊ณ , ๋๋ฌด ๋ต๋ตํ์๋ค..1\. ์ฐ์ pod์ ์ด์ด์ง๋ ํฌํธ ์ค์ ์ 8080์ผ๋ก ์์ํ์๋๋ฐ, application ์ค์ ์ 8081๋ฒ์ผ๋ก ํฌํธ ์ง์ ์ ํด๋์ ๊ณ ์ณค์
์ปจํ ์ด๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ๊ฐ ์๋ ์ฑ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํจ.์ํ๊ฐ ์๋ค๋ ๊ฒ : ์ปจํ ์ด๋/ ๋ ธ๋์ ์ฅ์ ๋ฐ์์ ์ปจํ ์ด๋๋ฅผ ์คํํ์ ๋ ๋ค๋ฅธ ๋ ธ๋๋ก ์์ ๋กญ๊ฒ ์ฎ๊ธธ ์ ์๋ฐ๋ ๋ป์ปจํ ์ด๋๋ฅผ ์ฎ๊ธฐ๊ฑฐ๋ ์ญ์ ํ๊ฒ ๋๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๊ฒ๋๋๋ฐ, ์ด๋ฅผ ๋ณด์กดํ๊ธฐ ์ํด Volume
\-> ํด๊ฒฐ: 1234 ์๋ ๊ฐ์ "1234"๋ก ๋ณ๊ฒฝํจWarning Failed 4s kubelet Error: failed to generate container "843171203f7adfd56324a44029
\--dry-run : ๋ฌธ๋ฒ ํ์ธ\-o yaml : yamlํ์ผ ์์ฑ\-o wide : ์ ๋ณด ํ์ธ\-o wide -w : ํ๋ ์คํ์ ๋ณด ํ์ธ
https://kubernetes.io/docs/concepts/storage/storage-classes/์คํ ๋ฆฌ์ง ํด๋์ค๋ ๊ด๋ฆฌ์๊ฐ ์ ๊ณตํ๋ ์คํ ๋ฆฌ์ง์ "ํด๋์ค"๋ฅผ ์ค๋ช ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.๋ค๋ฅธ ํด๋์ค๋ ์๋น์ค ํ์ง ์์ค, ๋ฐฑ์ ์ ์ฑ ๋๋ ํด๋ฌ์คํฐ
์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ workload API ๊ฐ์ฒด๋ํ๋ก์ด๋จผํธ ๊ด๋ฆฌ์ Pod์ ์ธํธ ์๋ฅผ scaling ๊ด๋ฆฌ, ์์์ ๊ณ ์ ํ Pod๋ฅผ ์ ๊ณตํจ.๋ํ๋ก์ด๋จผํธ์ฒ๋ผ StatefulSet์ ๋์ผํ ์ปจํ ์ด๋ spec์ ๊ธฐ๋ฐ์ผ๋ก Pod๋ฅผ ๊ด๋ฆฌํจ.๋ํ๋ก์ด๋จผํธ์ ๋ค๋ฅธ ์ ์, ๊ฐ
$ ๋ฌ๋ฌ ํ์ ์ฌ์ฉ
ํ ํฌ๋์ ์ปจํ ์ด๋๋ฅผ ์ฌ๋ฌ๊ฐ ์คํํ ๊ฒฝ์ฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค, IPC, ๋ณผ๋ฅจ ๋ฑ์ ๊ณต์ ๊ฐ๋ฅํจ.์ง์ญ์ฑ ๋ณด์ฅ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง ์ฉ๋๋ก ๊ตฌ์ถํ๊ธฐ๋ ํจ.ํ๋๋ด์ ์ปจํ ์ด๋ ๊ฐ ํฌํธ๋ฒํธ ์ ๊ฒน์น๊ฒ ์ฃผ์https://kubernetes.io/docs/concepts/work
<๋ค์์คํ์ด์ค ์ ์ฑ >์ปจํ ์ด๋ ๋ฆฌ์์ค - ์ปจํ ์ด๋ ๋ฆฌ์์ค ์ ์ฝ ์กฐ๊ฑดLimit Ranges - ํ๋ ๋ฆฌ์์ค ์ ์ฝ ์กฐ๊ฑด<๋ค์์คํ์ด์ค ์์ฒด ์ ํ>ResourceQuata - ๋ค์์คํ์ด์ค ๋ฆฌ์์ค ์ ์ฝ ์กฐ๊ฑดhttps://kubernetes.io/docs/con
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/๋ฐ๋ชฌ์ ์ ๋ชจ๋ (๋๋ ์ผ๋ถ) ๋ ธ๋๊ฐ ํ๋์ ์ฌ๋ณธ์ ์คํํ๋๋ก ํ๋ค. ๋ ธ๋๊ฐ ํด๋ฌ์คํฐ์ ์ถ๊ฐ๋๋ฉด ํ๋๋ ์ถ๊ฐ๋๋ค. ๋ ธ๋๊ฐ ํด๋ฌ์คํฐ์์ ์ ๊ฑฐ๋๋ฉด
ํน์ ๋ ธ๋์ ํฌ๋๋ฅผ ์คํํ๋๋ก ์ ํGPU์๋น์ค, SSD ๋ ธ๋ ์ง์ ๋ฑ์ ์ฌ์ฉapiVersion: v1kind: Podmetadata: name: nginxspec: containers:name: nginx image: nginxnodeSelector: g
https://kubernetes.io/ko/docs/tasks/run-application/horizontal-pod-autoscale/\-> ํฌ๋ ์์ฒด๋ฅผ ๋ณต์ ํ์ฌ ์ฒ๋ฆฌํ ์ ์๋ ํฌ๋์ ๊ฐ์๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ๋ฒHPA๋ ์ปจํธ๋กค๋ฌ ๋งค๋์ ์์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ๋ฉด์
https://kubernetes.io/ko/docs/concepts/cluster-administration/logging/์ฌ์ด๋์นด ์ปจํ ์ด๋ : ๋ก๊ทธ ๋ฑ์ stdout ์ผ๋ก ํํ์ด๋ํฐ ์ปจํ ์ด๋ : ๊ธฐ์กด ์ปจํ ์ด๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ด์ฉ ํ์ฉ์ฐ๋ฐฐ์๋ ์ปจํ ์ด๋ : ์ปจ
ํ๋ ์์ฝ ์คํhttps://kubernetes.io/ko/docs/concepts/workloads/controllers/job/ํน์ ๊ฐ์์ ํ๋๋ฅผ ์ ์์ ์ผ๋ก ์คํ/์ข ๋ฃํจ์ ๋ณด์ฅํจ.์ปจํ ์ด๋๋ฅผ ํ๋ก์ธ์ค์ฒ๋ผ ์คํํจ์ฌ๋ฌ ํ๋๋ฅผ ๋ณ๋ ฌ์ผ๋ก๋ ์คํ๊ฐ๋ฅspec.compl
https://developer.ibm.com/blogs/kubernetes-helm-3/ํ ํ๋ฆฟ ํ์ผ๋ค์ ์งํฉ(์ฐจํธ)๋ฅผ ๊ด๋ฆฌํ๋ ์ฟ ๋ฒ๋คํฐ์ค ํจํค์ง ๋งค๋์ ๋๊ตฌ์ฐจํธ์ ์ฐจํธ ์์ถํ์ผ(tgz)๋ฅผ ๋ง๋ค ์ ์์์ฐจํธ ์ ์ฅ์์ ์ฐ๊ฒฐํด ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ์ฐจํธ๋ฅผ ์ค์น/์ญ
Heapster, Metrics Service, ...์ฟ ๋ฒ๋คํฐ์ค์ ๋ฉํธ๋ฆญ ์์ง ๋ชจ๋ํฐ๋ง ์ํคํ ์ฒ์์ ์ฝ์ด ๋ฉํธ๋ฆญ ํ์ดํ๋ผ์ธ ๊ฒฝ๋ํkubectl top nodekubectl top podhttps://kubernetes.io/ko/docs/tasks/debug/
kubectl logs <ํ๋> (์ปจํ ์ด๋)์ปจํ ์ด๋ ๋จ์๋ก ๋ก๊ทธ ํ์ธ ๊ฐ๋ฅ์ฑ๊ธ ์ปจํ ์ด๋ ํฌ๋ -> ํฌ๋๋ง ์ง์ ํ๋ฉด ๋ก๊ทธ ํ์ธ ๊ฐ๋ฅ๋ฉํฐ ์ปจํ ์ด๋ ํฌ๋ -> ํฌ๋ + ์ปจํ ์ด๋๊น์ง ์ง์ ํด์ผํจkubectl -> kubeapi๋ก ์์ฒญํ์ฌ ๋ช ๋ น ์ํํ๋๋ฐ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฆฌ์์ค
externalIP ์ ์์๋์ Ingress ์์ฑ ์ค ์ค๋ฅ ๋ฐ์ >
https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/kubectl apply -f https://raw.githubusercontent.com/kubernete
mkdir grafana_prometheuscd grafana_prometheusํฌ๋ฆ ๋ฐฐํฌ๋ฅผ ์ํ values.yaml ์์ฑํ ๋๋ ํฐ๋ฆฌ ์์ฑ cat << EOF > values-prometheus.yamlreplicas: 1service: type: Loa
https://istio.io/latest/about/service-mesh/๊ฐ๊ฐ ์ปจํ ์ด๋์ ํธ๋ํฝ์ ๊ด์ฐฐํ ์ ์๋๋ก ํ๋ก์๋ฅผ ๊ตฌ์ฑํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ์ปจํ ์ด๋ ํ๊ฒฝ์์ ๊ฐ ์ปจํ ์ด๋์ ํธ๋ํฝ ๊ด์ฐฐ์ด ์ ์ ๋์ํ๋์ง ๋ชจ๋ํฐ๋ง ํ๊ธฐ ์ด๋ ค์๊ฐ๋ฐ์๋ ์ด์์ฑ์ ์ํด
๋์ปค ํ๊ฒฝ์์ ์ฌ์ฉ์ฟ ๋ฒ๋คํฐ์ค์์๋ helm์ด๋ istio๋ก๋ ์ค์น ๊ฐ๋ฅ๋ง์ดํฌ๋ก ์๋น์ค๋ฅผ ์ํ OpenTracing ํ์ค์ง์ (์คํ์์ค ์ถ์ ์์คํ )์ปจํ ์ด๋์์ ๋ก๊น ์ ํ๋ฉด ๋์ปค ์ ๋ณด๋ฅผ jaeger-agent์๊ฒ ์ ์กํด์ Data Store๋ฅผ ์ฎ๊ธธ ์ ์์์ ํ๋ฆฌ์ผ์ด์ ์ด
https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/๋ ธ๋ ์ ์ง๋ณด์๋ ธ๋ ์์ ์ ์งํํ๋ ค๋ฉด ์ฌ๋ถํ ์ด ํ์ํ๋ฐ, ์ด๋ ๋ ธ๋ ๋ด์ ๋ค์ด์๋ ํฌ๋ ๋ฐ ์ปจํ ์ด๋ ๋ฑ์ ์๋น์ค๋ฅผ ์ค๋จํ์ง ์๊ณ ๋ค๋ฅธ ๋ ธ
๋ชจ๋ ํต์ ์ TLS๋ฅผ ํตํด Kube-apiserver๋ฅผ ์ด์ฉํ์ฌ ์์ฒญํจhttps://kubernetes.io/docs/reference/access-authn-authz/authentication/https://kubernetes.io/docs/ref
https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ํฌ๋ ๋๋ ์ปจํ ์ด๋์ ๋ํ ๊ถํ ๋ฐ ์ก์ธ์ค ์ ์ด ์ค์ ์ ์ ์ํฉ๋๋ค.์์์ ์ ๊ทผ ์ ์ด: ํ์ผ๊ณผ ๊ฐ์ ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ ๊ถํ์ ์ฌ์ฉ
https://github.com/kubernetes/examples/tree/master/mysql-wordpress-pdhttps://kubernetes.io/ko/docs/tutorials/stateful-application/mysql-word
SSH ํ๋ฌ๊ทธ์ธ ์ค์น ์คํจ >
์ฐธ๊ณ ๋ธ๋ก๊ทธ: https://blog.naver.com/isc0304/222545722104 1. Google Cloud VM ์ธ์คํด์ค ์์ฑ ๋จธ์ : E2 (CPU 2๊ฐ, ๋ฉ๋ชจ๋ฆฌ 4GB) Ubuntu 20.04 100 GB HTTP, HTTPS ํ์ฉ 2. Jenki
์ฐธ๊ณ ๋ธ๋ก๊ทธ: https://blog.naver.com/isc0304/222546201053ID : adminPW - kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.pa
apt-key deprecated
kube-apiserver ๋ก๊ทธ
https://nvtienanh.info/blog/cai-dat-kubernetes-cluster-tren-ubuntu-server-22-04calico ์ cidr์ 10.10.0.0/16์ผ๋ก ๊ตฌ์ฑํ์์.์ฒ์์ ๋ฌธ์ ๊ฐ ๋ญ์ง ์ถ์ด์ ํด๋น ํฌ์คํ ์ ๋ณด๊ณ ๋ฐฉํ๋ฒฝ
https://velog.io/@aylee5/EKS-Service-Ingress-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%97%90-%EB%85%B8%EC%B6%9