์ํด ๋ชฉํ ์ค ํ๋์๋ 'CKA Cer ์ทจ๋'์ ๋ฌ์ฑํ๋ฉด์ ์์กฐ๋กญ๊ฒ ์ํด๋ฅผ ์์ํ๋ค์ CKA๋ฅผ ์ด๋ป๊ฒ ์ค๋นํ๊ณ ์ด๋ป๊ฒ ์ทจ๋์ ํ๋์ง์ ๋ํด ๊ฐ๋จํ๊ฒ ์ค๋ช ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์ค๋ช ํ๋ฉด์ ๊ทธ๋ ๊ทธ๋ Tip์ ๋ํด์๋ ์ค๋ช ํฉ๋๋ค (CKS ํ๊ธฐ๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ) ๋ชฉ์ฐจ CKA๋? CKA ์ ์ ๋ฐฉ๋ฒ CKA ๊ณต๋ถ ๋ฐฉ๋ฒ CKA ์ค์ ์ํ ์์ CKA ์ทจ๋ ํ๊ธฐ Tips CKA๋? ์์ฝํ์๋ฉด CKA(Certified Kubernetes Administrator)๋ Kubernetes ๊ด๋ฆฌ์๋ก์ K8S๋ฅผ ์ํํ ์ ์๋ ๊ธฐ์ , ์ง์ ๋ฐ ์ญ๋์ ๊ฐ์ถ๊ณ ์์์ ๋ณด์ฆํ๋ ์๊ฒฉ์ฆ์ ๋๋ค. ๋ฆฌ๋ ์ค ํ์ด๋ฐ์ด์ ์์ ๋ฐ๊ธํด์ฃผ๋ฉฐ CKAD, CKA, CKS๋ก ๋ฑ๊ธ์ด ๋๋ฉ๋๋ค. 3๊ฐ๋ ๊ฐ๊ฐ ๋ณ๋์ ์ํ์ด๋ฉฐ CKAD(์ฌ์), CKA(๋ณดํต), CK..
๋์ปค ํ๋ธ์ ์ฌ๋ผ์จ ๊ณต์ MySql ์ปจํ ์ด๋๋ฅผ ์คํํ๋ฉด ์ธ์ ์ด๋์๋ ์์ฃผ ์ฝ๊ฒ ๋์ผํ MySql ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. MySql ์ปจํ ์ด๋๋ 8 ๋ฒ์ ์ผ๋ก ์งํํ์ต๋๋ค. ๊ณต์ ๋์ปค ํ๋ธ์ ๋์์๋ ์ค๋ช ๋๋ก ํ๋ฉด 1๋ถ๋ ์๋์ MySql ํ๊ฒฝ์ ๋๊ตฌ๋ ๋ง๋ค ์ ์์ต๋๋ค. ํ์ง๋ง ๋จ์ํ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋๋ฅผ ๋ง๋ค๋ฉด ์๋๊ณ ๋ณผ๋ฅจ๋ ๋ง์ดํธ ํด์ผํ๊ณ MySql์์์ ์๊ฐ, ์์คํ ํ๊ฒฝ ๋ณ์ ๋ฑ๋ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag ๊ทธ ์ค ์ด๋ฒ ๊ธ์์ sql-mode ๋ผ๋ MySql์์ ์ฌ์ฉ๋๋ ์์คํ ๋ณ์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. sql-mode๋? MySql์ ์ ์ฅ๋ ๋ฐ..
NFS๋ ๋ฌด์์ธ๊ฐ์? ๊ณต์ ๋ ์๊ฒฉ ํธ์คํธ์ ํ์ผ์ ๋ก์ปฌ์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ํ์ผ ์์คํ ์ ๋คํธ์ํฌ ํ์ผ ์์คํ (Network File System, NFS)์ด๋ผ๊ณ ํฉ๋๋ค. ์ ํต์ ์ธ ์ ๋์ค ํ๊ฒฝ์์๋ ์ค๋ซ๋์ ๋คํธ์ํฌ์์ ์๋ฃ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก NFS๋ฅผ ์ฌ์ฉํ์ต๋๋ค. NFS ์๋ฒ๊ฐ ํ์ผ์ ๊ณต์ ํ๋ฉด NFS ํด๋ผ์ด์ธํธ๊ฐ ๊ณต์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง์ดํธํด์ ์๊ฒฉ ํธ์คํธ(NFS ์๋ฒ)์ ํ์ผ์ ์ฌ์ฉํฉ๋๋ค. NFS๋ ์์ฝ๊ฒ ํ์ผ์ ๊ณต์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง ๋ณด์์ ์ทจ์ฝํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. NFS๋ก ๊ณต์ ํ ํ์ผ์๋ ์ผ๋ฐ์ ์ธ ์์ ๊ถ๊ณผ ์ ๊ทผ ๊ถํ์ด ๊ทธ๋๋ก ์ ์ฉ๋ฉ๋๋ค. ์๊ฒฉ ์์คํ ์์ ์ด๋ค ์ฌ์ฉ์๊ฐ ํ์ผ ์์ ์์ ๊ฐ์ UID๋ก ๊ณต์ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผํด์ ํ์ผ์ ๋ง์๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฃจํธ ๊ถํ์ด ๋ถ์ฌ๋ ..
์ค๋ช ์ ํ์์๊ณ ๊ฒฐ๋ก ๋ง ์๊ณ ์ถ์ ๋ถ๋ค์ ์ํ $ sed "$(grep -n 'image:' nginx.yaml | grep -Eo '^[^:]+')s/nginx:1.0/nginx:2.0/g" nginx.yaml ๋ณธ๋ฌธ์ ๊ธฐ๋ฅ์ด ํ์ํ ์ํฉ ์์ ์ ์ด๋ฏธ์ง๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ปค๋ฐํ ํ ์๋์ผ๋ก k8s cluster์ ๋ฐฐํฌ๋๊ธฐ ๊น์ง์ ๊ณผ์ ์ ํ์ดํ๋ผ์ธ์ผ๋ก ๋์ํํ ์ด๋ฏธ์ง์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ด์ ์ค์ธ ์๋น์ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. ๊ทธ๋ ๊ฒ ๋ ๊ฒฝ์ฐ GitOpsRepo์ ์๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ฒ์ ๋ํ ๋ฐ๊ฟ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๋ ๊ฒฝ์ฐ ์ ํจ์ค์์ GitOps Repo์ push๋ฅผ ํ ๋ ์๋กญ๊ฒ ๋ง๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ฒ์ ์ผ๋ก ์์ ํด์ค์ผ ํฉ๋๋ค. ๊ทธ๋์ผ argoCD์์ git..
๋ง์ฝ kubeadm์ ํตํด master์ node join์ ์๋ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ubuntu@node:~$ sudo kubeadm join 192.168.241.92:6443 --token 4rlhh1.4dehcs172qy9enyj --discovery-token-ca-cert-hash sha256:b5347bb4959f63e6100142700db4b7d69ea0d860c332265a1748cef29698f814 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd"..
AWS EKS ๋ GCP GKE๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ ต์ง ์๊ฒ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ง๋ง ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ์ง ์๊ณ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ ์ฌ์ด ์ผ์ ์๋๋๋ค. (์ต์ ์ ํํ ๋ ใ ใ ) ๊ทธ๋์ ์ด๋ฒ ๊ธ์์๋ k8s ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๊ณ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํด๋ณด๊ฒ ์ต๋๋ค. ํด๋ฌ์คํฐ ๊ตฌ์ถ์ ์ด์ ์ ๋ง์ถฐ์ k8s ์ k8s ๋ด ์ค๋ธ์ ํธ๋ค์ ๋ํ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค. ๋ํ ๋ง์คํฐ ๋ ธ๋์ ์์ปค ๋ ธ๋์์ ์ํํ ํ์๊ฐ ๋ค๋ฅด๋ฏ๋ก ๊ฐ ๋ถ๋ถ๋ง๋ค ํ์ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋์ ์งํ ์์๋ ์ง์ผ์ฃผ์ ์ผ ํฉ๋๋ค. ๋ง์ฝ ์ค์น ํ์๋ค๊ฐ ์๋ชป๋ ๋๋์ด ๋ ๋ค๋ฉด kubeadm reset ๋ช ๋ น์ด๋ฅผ ํตํด ๋ฆฌ์ ํด์ฃผ์๊ณ ๋ค์ ์งํํ์๊ธฐ ๋ฐ๋๋๋ค. ์ฐ์ ๋ฏธ๋ฆฌ ์ค๋น๋์ด์ผ ํ ํ๊ฒฝ์ ์๋์ ๊ฐ์ต๋๋ค...
https://reboot.co.kr/13.html 1.๋ผ์ฐํ ํ ์ด๋ธ์ด๋ ๋ด PC๋ฅผ ๊ฐ์ง๊ณ ํ ์ ์๋ ์ผ์ ๋ค์๊ณผ ๊ฐ๋ค. 1) ์์๋ฆฌ์ ์์ ์๋ ์ฌ๋๊ณผ IPX๋ก ์คํํฌ๋ํํธ๋ฅผ ํ๋ค. 2) ๋ฏธ๊ตญ์ ์๋ ๋ง์ดํฌ๋ก ์ํํธ์ฌ์ ํํ์ด์ง์ ์ ์ํ๋ค reboot.co.kr 1.๋ผ์ฐํ ํ ์ด๋ธ์ด๋ ๋ด PC๋ฅผ ๊ฐ์ง๊ณ ํ ์ ์๋ ์ผ์ ๋ค์๊ณผ ๊ฐ๋ค. 1) ์์๋ฆฌ์ ์์ ์๋ ์ฌ๋๊ณผ IPX๋ก ์คํํฌ๋ํํธ๋ฅผ ํ๋ค. 2) ๋ฏธ๊ตญ์ ์๋ ๋ง์ดํฌ๋ก ์ํํธ์ฌ์ ํํ์ด์ง์ ์ ์ํ๋ค. 3) ๊ธฐํ .. ๊ทธ๋ ๋ค๋ฉด, ์ด๋ป๊ฒํด์ ๋ด PC๋ ์์๋ฆฌ์ ๋ฏธ๊ตญ์ PC๋ฅผ ๊ตฌ๋ถํด์ ์ฐพ์๋๊ฐ๊ฒ ๋๋๊ฒ์ผ๊น ? ์์์๋ PC๋ ๋น์ฐํ ์์ ์์ผ๋๊น ๋ฐ๋ก ์ฐ๊ฒฐ๋๋๊ฒ์ด๋ค๋ผ๊ณ ์๊ฐํ๋ ๋ถ์ PC์ ๋ง์์ ํค์๋ฆฌ์ง ๋ชปํ๊ฒ์ด๋ค. PC๋ ์์ ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฐ์ง๊ณ ๋ค..
When you type a command on the command line, youโre basically telling the shell to run an executable file with the given name. In Linux, these executable programs like ls , find , file and others, usually live inside several different directories on your system. Any file with executable permissions stored in these directories can be run from any location. The most common directories that hold ex..
How to use SED in a Jenkins Pipeline how to use sed in jenkinsfile devopsian.net Have you ever had a task to update a single line in a file? There few utilities to help with that task, and I find sed superior on the alternatives. sed is a stream editor, with which you can modify files. Itโs a great utility in your toolbox. If youโre unfamiliar with it, hereโs a [link for a quick intro. I had to ..
ํฐ์บฃ ์ด๋ฏธ์ง๊ฐ ์ค์น๋ ์ปจํ ์ด๋๋ฅผ run์ผ๋ก ์คํํ ๊ฒฝ์ฐ docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1 ํฐ์บฃ์ด ์๋์ผ๋ก ์คํ๋๋ฉด์ ๋ฐ์ํ ์ค๋ฅ๋ก Docker ์ปจํ ์ด๋๊ฐ ์คํ๋์ง ์์๋ค. ์๋ ๋ช ๋ น์ด๋ก ์ปจํ ์ด๋ ์๋ฌ ๋ก๊ทธ๋ฅผ ์ด์ด ๋ณด์๊ณ docker logs -t CONTAINER ID ์์ธ์ ํฐ์บฃ ์คํ์ server.xml์ ์ค์ ํ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ์ง ์์์ ์๋ค. server.xml์ ์์ ํด์ผ ํ๋๋ฐ ์ปจํ ์ด๋ ์์ฒด๊ฐ ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ฒฐ๊ตญ ๊ตฌ๊ธ์ ๊ฒ์ํด๋ณด๋ ์คํ์ค๋ฒํ๋ก์ฐ์ ์ด ๊ธ์ ๋ต๋ณ ์ค ์ ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ ์ปจํ ์ด๋๋ ์ ์ง ์ํ์ ์์ง๋ง ์์ ์๋ ํ์ผ์ ํธ์คํธOS๋ก ๋ณต์ฌํ ์ ์์๋ค. ํ์ผ์ ๋ณต์ฌํด์์ ์์..
docker ์ปจํ ์ด๋ ์๊ฐ๋ฐ๊พธ๊ธฐ -์ปจํ ์ด๋ ์ ์ ํ # dpkg-reconfigure tzdata - ํ๊ตญ ์์ธ ๊ธฐ์ค 6(Asia) -> 68(Seoul) ์ ํ # date๋ก ๋ณ๊ฒฝ๋ ์๊ฐ ํ์ธ ํ docker ์ฌ์์
dig (domain information groper) ๋? dig๋ ๋คํธ์ํฌ ๊ด๋ฆฌ ๋๊ตฌ ์ค ํ๋๋ก DNS (Domain Name System) ๋ฅผ ์ง์ํ ์ ์๋ ๋๊ตฌ์ ๋๋ค. nslookup ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ DNS ๋ฅผ ์ง์ํ ์ ์์ง๋ง, ๋ณด๋ค ๋ ํธํ ์ธํฐํ์ด์ค์ ์ฌ์ฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด์ ๋๋ถ์ด IDN (Internationalized Domain Name) ์ฟผ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. (nslookup๋ ์ง์) dig ์ค์น ์ต๊ทผ OS๋ค์๋ dig ์ปค๋งจ๋๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋์ด ์์ต๋๋ค. ๋ง์ฝ, dig ์ปค๋งจ๋๊ฐ ์์ ๊ฒฝ์ฐ ์๋์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์นํ๋ฉด ๋ฉ๋๋ค. Mac brew install dig Windows ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก๋, ISC ๋ค์ด๋ก๋ ์ ์ ์ํ์ฌ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค. windows dig ์ค์น ๋..
์ฟ ๋ฒ๋คํฐ์ค API ์์ฒญ ๊ณผ์ ๊ฐ๋จํ๊ฒ API Server์ ์ ๊ทผํ๊ธฐ ๊น์ง ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ฉด, ์ฒซ๋ฒ์งธ, ์์ฒญ์ ๋ณด๋์ ๋ ์ธ์ฆ(Authentication) ๊ณผ์ ์ ๊ฑฐ์น๋ค. "๋๋ k8s cluster์ ๋ฑ๋ก๋ ์ฌ์ฉ์๊ฐ ๋ง๋๊ฑฐ์ง?" ๋๋ฒ์งธ, ์ธ์ฆ ๊ณผ์ ์ ํต๊ณผํ ํ ์ธ๊ฐ(Authorization) ๊ณผ์ ์ ๊ฑฐ์น๋ค. "๋ฑ๋ก๋ ์ฌ์ฉ์๋ ๋ง๊ณ ์ด ์ก์ ์ ํ ์ ์๋ ๊ถํ์ ์๋?" ์ธ๋ฒ์งธ, ์ธ์ฆ๊ณผ ์ธ๊ฐ๋ฅผ ํต๊ณผํ๊ฒ ๋๋ฉด Admission Control์ ๊ฑฐ์น๋ค. "๋๊ฐ ๋ณด๋ธ ์์ฒญ์ ์ ์ ํ์ง ํ์ธํด๋ณผ๊น?" ์ด ๊ณผ์ ์ ๋ฌด์ฌํ ๋ง์น๋ฉด "์์ฒญ ์น์ธ"์ด ๋๋ค. ํ์ง๋ง ๋ง์ฝ ํ ๊ณผ์ ์ด๋ผ๋ ์ ์ ์น ์๋ค๋ฉด "์์ฒญ ๋ฐ๋ ค"๊ฐ ๋๋ค. ๊ทธ๋ผ ๋ณธ๊ฒฉ์ ์ผ๋ก AWS EKS๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ ํด๋ฌ์คํฐ์ ์ต์ด ์์ฑํ IAM ์ฌ์ฉ์๊ฐ ์๋ ์๋กญ๊ฒ ๋ง๋ I..
์ฟ ๋ฒ๋คํฐ์ค Docker Hub-Private Image ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ Private Image๋ฅผ ๊ฐ์ ธ์์ผ ํ ๋ ์ฟ ๋ฒ๋คํฐ์ค์ secret์ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค. ์ด ๊ธ์์๋ Docker Hub์ ๊ธฐ์ค์ผ๋ก ์์ฑ ํฉ๋๋ค. ์ฐ์ Private Image ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ธ ๋งํผ ์๋์ ๊ฐ์ด ์ด๋ฏธ Docker Hub์ ์ด๋ฏธ์ง๊ฐ ๋ฑ๋ก๋์ด ์๋ค๋ ๊ฐ์ ํ์ ์งํ ํฉ๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค ๋งค๋ํ์คํธ ํ์ผ ์์ฑ ์ ๋ ์๋์ ๊ฐ์ด ๊ฐ๋จํ Deployment๋ฅผ ์ค์ ํด์ฃผ๋ ๋งค๋ํ์คํธ ํ์ผ(.yaml)์ ์์ฑ ํ์์ต๋๋ค. Private Image๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉํ ๋งค๋ํ์คํธ ํ์ผ์ viํธ์ง๊ธฐ๋ก ์ฌ์ ํ spec.template.spec.ImagePullSecrets.name ํ๋์ ์์์ ๊ฐ์ ์ค์ ํด์ค๋๋ค. ์ด ๊ฐ์ ์ดํ ์์ฑํ secr..
Cert-manager๋? Cert-manager๋ Kubernetes ๋ด๋ถ์์ HTTPS ํต์ ์ ์ํ ์ธ์ฆ์๋ฅผ ์์ฑํ๊ณ , ๋ ์ธ์ฆ์์ ๋ง๋ฃ ๊ธฐ๊ฐ์ด ๋๋ฉด ์๋์ผ๋ก ์ธ์ฆ์๋ฅผ ๊ฐฑ์ ํด์ฃผ๋ ์ญํ ์ ํ๋ Certificate manager controller์ ๋๋ค. ์ฝ๊ฒ ๋งํด Kubernetes ๋ด์์ ์ธ๋ถ์ ์กด์ฌํ๋ Issuers๋ฅผ ํ์ฉํ๊ฑฐ๋ selfsigned Issuer๋ฅผ ์ง์ ์์ฑํด์ ์์ฑํ์ฌ Certificate๋ฅผ ์์ฑํ๊ณ , ์ด๋ ์์ฑ๋ Certificate๋ฅผ ๊ด๋ฆฌํ๋ฉฐ ์ธ์ฆ์์ ๋ง๋ฃ ์๊ฐ์ด ๊ฐ๊น์์ง๋ฉด ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ๊ฐฑ์ ํด์ค๋๋ค. Cert-manager๊ฐ ์ฌ์ฉํ๋ ์ธ๋ถ์ ์กด์ฌํ๋ Issuer๋ ์๋์ ์ด๋ฏธ์ง์ ๊ฐ์๋ฐ, ๋ํ์ ์ธ Issuer๋ก ๋ฌด๋ฃ๋ก ์ฌ์ฉ๋๊ณ ์๋ let's enscrypt๋ฅผ ๋ง์ด ์ฌ์ฉํ..
Import $ mysql -u๊ณ์ -p ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ช ํ์ผ์ ์ ์ฅํ ์์น/ํ์ผ๋ช ex) $ mysqldump -uroot -p1234 databasename > dump.sql ํน์ ํ ์ด๋ธ๋ง dumpํ๊ธฐ (์ํฌํธ๋ ์ด์ฐจํผ ๋๊ฐ์ด ํ ์ด๋ธ์ DB์ import ํ๋๊ฑฐ๋๊น ์์ ๋์ผ) $ mysqldump -u ๊ณ์ -p ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ช ํ ์ด๋ธ๋ช > ํ์ผ์ ์ ์ฅํ ์์น/ํ์ผ๋ช ex) $ mysqldump -uroot -p1234 databasename tablename > dump.sql ํน์ ์กฐ๊ฑด์ ๋ถํฉ๋๋ rows๋ง dumpํ..
1. MySQL์ ๊ธฐ๋ณธํ ์ด๋ธ MySQL์ ์ฒ์ ์ค์น์์ 'mysql'์ด๋ผ๋ ๋ฐ์ดํ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ค. ์ด ๋ฐ์ดํ๋ฒ ์ด์ค๋ db,host,user, tables_priv,columns_priv, function๋ผ๋ ๊ธฐ๋ณธํ ์ด๋ธ์ ๊ฐ์ง๊ณ ์๋ค. ์ด ํ ์ด๋ธ๋ค์ MySQL์ ๊ถํ๊ณผ ๊ด๋ จ์ด ์๋ค. 2. MySQL์ ๊ธฐ๋ณธํ ์ด๋ธ๊ณผ ๊ถํ (1) userํ ์ด๋ธ : ์ ์ฒด์๋ฒ์ ์ ์ฉ๋๋ ๊ถํ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค. (2) hostํ ์ด๋ธ : ํธ์คํธ์ ์ฒด์ ๋ํ ์๋ฒ์ ์ ๊ทผ๊ถํ์ ๋ถ์ฌํ๋ค. (3) dbํ ์ด๋ธ : ๊ฐ๊ฐ์ ๋ฐ์ดํ๋ฒ ์ด์ค์ ์ ๊ทผ ๊ถํ์ ์ค์ ํ๋ค. (4) tables_priv : ํ ์ด๋ธ์ ๋ํ ์ ๊ทผ๊ถํ์ ์ค์ ํ๋ค. (5) columns_priv : ํ์ ๋ํ ์ ๊ทผ ๊ถํ์ ์ค์ ํ๋ค. (6) function : ์ฌ์ฉ์์ ์ mysql..
This text is written by Nadee Poornima To achieve the high availability and scaling of MySQL they have introduced two types of MySQL clusters as MySQL InnoDB Cluster(using InnoDB as the engine) and MySQL NDB Cluster (using NDB engine). Currently, WSO2 products are supporting for this NDB Cluster, and today I am going to explain how to set up an NDB Cluster by using a Docker image of NDB Cluster...
Docker ์ปจํ ์ด๋(container)์ ์ฐ์ฌ์ง ๋ฐ์ดํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ ์ด๋๊ฐ ์ญ์ ๋ ๋ ํจ๊ป ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค. Docker์์ ๋์๊ฐ๋ ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ปจํ ์ด๋์ ์๋ช ์ฃผ๊ธฐ์ ๊ด๊ณ์์ด ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅ์ ํด์ผํ๋๋ฐ์. ๋ฟ๋ง ์๋๋ผ ๋ง์ ๊ฒฝ์ฐ ์ฌ๋ฌ ๊ฐ์ Docker ์ปจํ ์ด๋๊ฐ ํ๋์ ์ ์ฅ ๊ณต๊ฐ์ ๊ณต์ ํด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์จ์ผํฉ๋๋ค. ์ด๋ ๊ฒ Docker ์ปจํ ์ด๋์ ์๋ช ์ฃผ๊ธฐ์ ๊ด๊ณ์์ด ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ ์ ์๋๋ก Docker๋ ๋๊ฐ์ง ์ต์ ์ ์ ๊ณตํ๋๋ฐ์. ์ฒซ๋ฒ์งธ๋ Docker ๋ณผ๋ฅจ(volume), ๋๋ฒ์งธ๋ ๋ฐ์ธ๋ ๋ง์ดํธ(bind mount)์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ Docker ์ปจํ ์ด๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ์ด ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ณผ๋ฅจ ์์ฑ ๋ฐ ์กฐํ ..
sed ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ๋ " / " ๊ฐ ๊ธฐ๋ณธ ๊ตฌ๋ถ์์ด์ง๋ง "/home" ์ "/home2" ๋ก ์นํ์ ํ ๋ ๋์ผํ ํน์๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ์๊ธฐ๋ ํ์์ด์๋ค. ๊ตฌ๊ธ๋ง์ ํ๋ sed ๋ช ๋ น์ด์ ๋ชจ๋ ๊ตฌ๋ถ์๋ ๋ชจ๋ ๊ธฐํธ๊ฐ ๊ตฌ๋ถ์๊ฐ ๋ ์ ์๋ค๊ณ ํ๋ค. ๋ฆฌ๋ ์ค ์ ์คํฌ๋ฆฝํธ ๋ฑ์์ sed๋ฅผ ์ฌ์ฉํ ๋ "sed: -e expression #1, char 12: unknown option to `s`" ์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก sed -i "s/string/number/gi" ์ ๊ฐ์ด ์ฌ์ฉ๋ ํ ๋ฐ, /๋ฅผ |๋ก ๋ณ๊ฒฝ์์ผ ์ฃผ๊ฑฐ๋ ๋ฌธ์์ด ์์ /๊ฐ ์๋ค๋ฉด \/ ๋ก ์ฌ์ฉํ์ฌ ์ด์ค์ผ์ดํ ์์ผ์ฃผ์ด์ผ ํฉ๋๋ค. ex1) sed -i "s/string/number/gi" --> sed -i "s|string|nu..
s3 ๋ฒํท ์ ์ฑ ์ด๋? aws s3์ ๋ฒํท์ ๋ง๋ค๊ณ ํ๋์ ์ด๋ฏธ์ง ํ์ผ์ ์ ๋ก๋ ํ ํด๋น ์ด๋ฏธ์ง์ ์ฃผ์๋ฅผ ํธ์ถํด ๋ณด๋ฉด ์๋ ์ด๋ฏธ์ง์ ๊ฐ์ด Access Denied์ค๋ฅ๋ฅผ ๋ฐ์์ํค๋ฉด์ ์์ธ์ค ๋์ง ์๋๋ค. ์ด๋ฐ ํ์์ ํด๊ฒฐํ๊ธฐ ์ํด ์์ฑํ s3๋ฒํท์ ๋ฒํท ์ ์ฑ ์ด๋ผ๋ ๊ฒ์ ์์ฑํด์ผ ํฉ๋๋ค. s3 ๋ฒํท ์ ์ฑ ์ด๋ ์ฌ์ฉ์๊ฐ s3 ๋ฒํท์ ์์ธ์ค ํ ์ ์๋ ์ ์ฑ ์ต์ ์ค ํ๋ ์ด๋ฉฐ json ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ฒํท์ ๋ํ ์์ธ์ค๋ฅผ ์ ์ด ํฉ๋๋ค. s3๊ฐ ๋ฌด์์ธ์ง? ๋ฒํท์ด ๋ฌด์์ธ์ง?์ ๋ํ ๊ถ๊ธ์ฆ์ ๋ค์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๊ธธ ๋ฐ๋๋๋ค. Amazon S3์ด๋ ๋ฌด์์ธ๊ฐ์? - Amazon Simple Storage Service HTTP๋ฅผ ํตํ SOAP ์ง์์ ์ค๋จ๋์์ง๋ง HTTPS๋ฅผ ํตํด ๊ณ์ํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ก์ด Am..
์ด ๊ธ์ ์ ์๊ถ์ ์๋ฆฌ๋ฐค ๋์๊ฒ ์์ต๋๋ค. "์ํธํ ํต์ " ๋ญ๊ฐ ํ ๋ฆฌ์ฐ๋ ๋ธ๋ก๋ฒ์คํฐ ์ฐ์ ์คํ์ด ์ก์ ์ํ์์๋ ๋์ฌ๋ฒํ ๋จ์ด์ฃ ํ์ง๋ง ์๊ฐ ์ธ๋ก ์ฐ๋ฆฌ ์ผ์์ํ์์ ๋ง์ด ์ฌ์ฉํ๊ณ ์์ด์. ๊ทธ ๋ํ์ ์ธ ์๊ฐ https ์ฃ https ๋ ๊ธฐ์กด์ ์ธํฐ๋ท ๋ฐฉ์(http)์ ๋ณด์์ ๊ฒฐํฉํ ๊ฒ์ด๊ณ , ์ค๋์ ๊ทธ "๋ณด์" ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์ง์ ๋ํด ๊ณต๋ถํ ๊ฑฐ์์. 1. ๊ทธ "๋ณด์"์ด ๋ญ๋ฐ ์ํธํ ํต์ ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๊น? ์ํธํ ํต์ ์ SSL(๋๋ TLS)๋ผ๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ ๊ฒ์ ์๋ฏธํด์. ์ฐ๋ฆฌ๊ฐ ์ฒ์ ๋ง๋ ์ฌ๋๊ณผ ์ธ์ฌํ ๋ฏ ์ฌ์ฉ์์ ์น์๋ฒ๊ฐ ์ํธํ ํต์ ์ ํ ๋ ์ธ์ฌํ๋ฉฐ ์ด๋ค ์ํธํ๋ฅผ ์ฌ์ฉ ํ ๊ฒ์ธ์ง ์๊ธฐ๋ฅผ ๋๋์ฃ . ์ด๋ฌํ ๊ณผ์ ์ SSL Handshake๋ผ๊ณ ์นญํด์. ๋ฒ์ธ์ ์ธ ์๊ธฐ๋ก h..
TCP ์ UDP๋ ์ ๋ขฐ์ฑ vs ์ ์์ฑ ์ ํน์ง์ ๋๊ณ tcp์ udp๋ฅผ ์ด์ฉํ๋ ์๋น์ค ๋ค์ด ๊ฐ๋ฆฐ๋ค. TCP๋ - HTTP, Email, FIle transfer UDP๋ - DNS, Broadcasting ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IP์ฃผ์๋ฅผ ์๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ DNS๋ ์ UDP์ ์ํด ์์๊น? UDP์ ํน์ง UDP๋ ํธ๋์คํฌํธ ๊ณ์ธต ํ๋กํ ์ฝ์ด ํ ์ ์๋ ์ต์ ๊ธฐ๋ฅ์ผ๋ก ๋์ ์ฆ, ๋ค์คํ/์ญ๋ค์คํ ๊ธฐ๋ฅ๊ณผ ๊ฐ๋จํ ์ค๋ฅ ๊ฒ์ฌ ๊ธฐ๋ฅ์ ์ ์ธํ๋ฉด IP์ ์๋ฌด๊ฒ๋ ์ถ๊ฐํ์ง ์๋๋ค. ๊ทธ๋์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ TCP๋์ ์ UDP๋ฅผ ์ ํํ๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฑฐ์ IP์ ์ง์ ํต์ ํ๋ ๊ฒ tcp์ ๋นํด ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ๊ณ ์๊ธฐ์ DNS์๋น์ค๊ฐ ์ฌ์ฉํ๊ธฐ ์ ํฉํ๋ค. ์ฐ๊ฒฐ์ ์์ ๊ณผ ๋ ์ค์ ์ด ์๋ค๋ ์ ๋ง์ฝ dns๊ฐ ..
์ ์ ์น์ HTTPS๋ก ๋ฐฐํฌํ๊ธฐ์ ์ด์ด ์ด๋ฒ์๋ EC2 ์ธ์คํด์ค๋ก ๋ฐฐํฌํ ํฐ์บฃ์ HTTPS๋ก ์ ๊ทผํ๊ณ ์ ํฉ๋๋ค. [AWS] HTTP to HTTPS๋ก ๋ฐฐํฌํ๊ธฐ (S3 ๊ธฐ์ค) ์ด์ ๊ธ 'Route 53 ๋๋ฉ์ธ ๊ตฌ๋งค ํ ์ฐ๊ฒฐํ๊ธฐ'์์ ๋๋ฉ์ธ ๊ตฌ๋งค ํ S3์ ์ฐ๋์์ผฐ์ต๋๋ค. ํ์ง๋ง Http๋ก ์ ์๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ Https๋ก ๋ฐ๊ฟ๋ณด๋ ์์ ์ ํ๊ฒ ์ต๋๋ค. Https๋ก ๋ฐ๊พธ๊ธฐ ์ํด์๋ S3, CloudFront, kingofbackend.tistory.com ์ ์ ์น ๊ฐ์ ๊ฒฝ์ฐ์๋ Application Load Balacner(ALB)๊ฐ ํ์์์ด์ ๊ทธ๋ฆฌ ์ด๋ ต์ง ์์์ง๋ง, ๋์ ์น(EC2) ๊ฐ์ ๊ฒฝ์ฐ๋ ALB๋ฅผ ํ์๋ก ํฉ๋๋ค. ๋ฐ๋ผ์ AWS์ ๋คํธ์ํฌ์ ๋ํ ๊ธฐ์ด์ง์์ด ํ์ํฉ๋๋ค. ALB๋ ๊ฐ๋จํ ๋งํด์ L7 Lo..
์ด ๋ฌธ์ ๋ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์์ mysql ํจ์ค์๋ ํ๋ฌ๊ทธ์ธ "caching_sha2_password"์ ์ํํ์ง ๋ชปํด์ ์๊ธฐ๋ ์ค๋ฅ์ ๋๋ค. ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์๋๋ก ์ ์ ์ ํจ์ค์๋ Plusin์ ๋ฐ๊ฟ์ค์๋ค. mysql์ ์ ์ํ์๊ณ , ์๋์ ๊ฐ์ด ์์ ํฉ๋๋ค. mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Xptmxm1212!@'; ์์ ์ด ์๋ฃ ๋์๋ค๋ฉด, ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด Plugin์ด ๋ณ๊ฒฝ๋์์๊ฑฐ์์ :) mysql> SELECT Host,User,plugin,authentication_string FROM mysql.user;
1. ec2 ์ ์ ํ cd/etc/mysql/mysql.conf.d ๋ก ์ด๋ํฉ๋๋ค. 2. sudo vi mysqld.cnf 3. bind-address 127.0.0.1 ๊ฐ ์ ํ์ค ๋งจ์์ # ๋ฅผ ๋ฃ์ด ์ฃผ์์ฒ๋ฆฌ ํด์ฃผ๊ธฐ 4. mysql ์ ์(sudo /usr/bin/mysql -u root -p) 5. ์ธ๋ถ์ ์ ํ์ฉ sql๋ฌธ ์ ๋ ฅ mysql> create user 'root'@'%' identified by '[password]'; mysql> grant all privileges on *.* to 'root'@'%' with grant option; 'root' ๋์ ์ ์ ์ด๋ฆ์ ๋ฃ์ด์ฃผ์๋ฉด๋๊ณ , %๋ ๋ชจ๋ ๊ณณ์์ ์ ์ ํ์ฉ์ด๋ผ๋ ๋ป์ ๋๋ค. 6. mysql ์ฌ์์ํ๊ธฐ sudo service mysql res..
์ด๋ฒ ๊ธ์ ์งํํ๋ ค๋ฉด ๋จผ์ ์ ํ๋์ด์ผ ํ ์์ ์ด ์์ต๋๋ค. ๋ํ aws, k8s์ ๋ํ ๊ธฐ์ด ์ง์์ด ์์ผ๋ฉด ์ด๋ ค์ธ ์ ์์ต๋๋ค. -k8s 1.19๋ฒ์ -aws cli ์ค์น ํ aws์ ์ก์ธ์ค ํ๊ธฐ -eksctl ์ค์น -์๋์ ๊ฐ์ vpc ๊ตฌ์ถ ์ 3๊ฐ์ง ์ ํ์์ ์ด ๋์๋ค๋ ๊ฐ์ ํ์ ์งํํฉ๋๋ค. k8s ํด๋ฌ์คํฐ ์์ฑ ์ฐ์ ํผ๋ธ๋ฆฟ ์๋ธ๋ท 3๊ฐ๋ฅผ ๊ฐ์ง๋ VPC๋ฅผ ํตํด EKS๋ฅผ ์ด์ฉํ์ฌ k8s ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. $ eksctl create cluster -f create-cluster.yaml ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ k8s ํด๋ฌ์คํฐ๋ฅผ ์์ฑํฉ๋๋ค. * create-cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: "..
๋ฆฌ๋ ์ค์์คํ ์๋ ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ฉด ์๋์ผ๋ก ์ฌ์ฉ์๋ช ๊ณผ ๊ฐ์ ๊ทธ๋ฃน์ด ์์ฑ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋ฆฌ๋ ์ค์์๋ ์์ ์ ๊ณ์ ์ด๋ฆ๊ณผ ๋์ผํ ๊ทธ๋ฃน์ ๋ฐ๋์ ์ํ๊ฒ ๋๋ฉฐ, ํน์ ๊ทธ๋ฃน์ ๋ง๋ค์ด์ ๊ธฐ์กด์ ์ฌ์ฉ์๋ค์ด ์์๋๊ฒ ํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฃน ์ถ๊ฐ - groupadd groupadd ๋ช ๋ น์ด๋ก ์์ฑ๋๋ ๊ทธ๋ฃน์ ํน๋ณํ ์ต์ ์ด ์ฃผ์ด์ง์ง ์๋ ํ GID๋ 499 ๊น์ง๋ ํ ๋น๋์ง ์๋๋ค. ์ฆ, GID ๊ฐ 500 ์ด์์ธ ๊ทธ๋ฃน๋ค ๊ฐ์ด๋ฐ ๊ฐ์ฅ ๋ฎ์ GID ๋ฒํธ๋ก ๊ทธ๋ฃน์ ์์ฑํ๊ฒ ๋๋ค( -r ์ต์ ์ฌ์ฉ์์๋ ์์ธ). BASH $ groupadd teamzezz ์๋ฌด ์ต์ ์์ด ์๋ก์ด ๊ทธ๋ฃน์ ์์ฑํ๋ฉด ๊ธฐ์กด์ ์๋ ๊ทธ๋ฃน์ ๋ง์ง๋ง ๋ฒํธ ๋ค์๋ฒํธ๋ฅผ GID ๋ก ํ ๋นํ์ฌ teamzezz ๋ผ๋ ๊ทธ๋ฃน์ด ์์ฑ๋๋ค. BASH grep teamzezz /e..
โถ 1. root ๋น๋ฐ๋ฒํธ๋ฅผ ๋จผ์ ๋ณ๊ฒฝํ์ฌ ์ค๋ค. #sudo passwd root โถ 2. sshd_config ์ค์ ์ ๋ณด ๋ณ๊ฒฝ #sudo vi /etc/ssh/sshd_config :set nu ๋ฅผ ์ ๋ ฅํ์ฌ ๋ณด๊ธฐ ์ข๊ฒ ๋ผ์ธ์ ํ์. 38 ๋ผ์ธ์ "PermitRootLogin yes" ๋ถ๋ถ์ ์ฃผ์์ ํด์ ํ๊ณ ์ ์ฅ (:wq) โถ 3. ๋ฃจํธ ๊ฒฝ๋ก์ .ssh ๊ฒฝ๋ก๋ฅผ ์์ฑํ์ฌ ์ค๋ค. #sudo mkdir /root/.ssh ๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์ด๋ฏธ ๋๋ ํ ๋ฆฌ๊ฐ ์์ด ์์ฑ๋์ง ์์๋ค. โถ 4. ec2์ ์ ์ ์ธ์ฆํค๋ฅผ root๋ก ๋ณต์ฌํ๋ค. #sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh โถ 5. sshd๋ฅผ ๋ฆฌ์คํํธ ํ๋ค. #sudo systemctl restart ssh..