Install with kubespray

vm μ€€λΉ„

master 3λŒ€, node 6λŒ€λ‘œ μ§„ν–‰

각각의 λ…Έλ“œμ— λž©νƒ‘μ—μ„œ μžλ™ 둜그인 섀정을 μ§„ν–‰ν•΄ λ‘μ–΄μ•Όν•œλ‹€. cloud-init을 μ΄μš©ν•˜μ—¬ vmμ„€μΉ˜μ‹œ μžλ™ν™”λ₯Ό μΆ”μ²œ λ“œλ¦°λ‹€.

architechture

master 1 2 3 에 keepalivedλ₯Ό μ„€μΉ˜ν•˜κ³  vipλ₯Ό 10λ²ˆμ„ ν• λ‹Ήν•΄μ€€λ‹€.

master 1 2 3 에 haproxyκ°€ μ„€μΉ˜. λ¬Έμ œκ°€ λ°œμƒν•΄λ„ μ„œλΉ„μŠ€μ— 문제 μ—†κ²Œ ν•œλ‹€.

haproxyκ°€ 1 2 3 λ²ˆμ— μ„€μΉ˜λœ kube apiλ₯Ό 포인트 ν•œλ‹€.

node1-6λŠ” vipλ₯Ό kube-api κ°€ μ—°κ²°λœλ‹€. 이러면 ha κ°€ μ™„μ„±λœλ‹€.

prepare install

λ‚˜λŠ” gitopsλ₯Ό μ’‹μ•„ν•˜λ―€λ‘œ κΉƒ 리포λ₯Ό ν•˜λ‚˜ λ§Œλ“ λ‹€.

https://github.com/teamsmiley/custom-kubesprayarrow-up-right

set custom k8s-cluser.yml

review setup-kubespray.sh

μ›ν•˜λŠ” λ²„μ „μœΌλ‘œ 섀정을 λ³€κ²½ν•œλ‹€.

sh μ„€λͺ…

μ€€λΉ„ μ™„λ£Œ

kubesprayκ°€ λ‹€μš΄λ˜κ³  섀정을 λ‚΄κ°€ 미리 μ •ν•΄λ‘”λŒ€λ‘œ λ³€κ²½ν•œλ‹€. 이러게 ν•΄μ„œ 이 폴더 자체λ₯Ό 컀밋/ν‘Έμ‹œλ₯Ό ν•΄λ‘μ–΄μ•Όν•œλ‹€. κ·Έλž˜μ•Ό λ‚˜μ€‘μ— λ‚΄κ°€ 이버전을 μ‚¬μš©ν•˜μ—¬ μ„€μΉ˜ν•œκ²ƒμ΄ λ‚˜μ˜¨λ‹€. μ‚¬μš©ν•œ λͺ¨λ“ κ±Έ μŠ€λƒ…μƒ·μ°λ“―μ΄ μ†ŒμŠ€μ½”λ“œμ— λ„£μ–΄λ‘¬μ•Όν•˜λŠ”κ²Œ λ§žλ‹€. λ‚˜μ€‘μ— ν˜Ήμ‹œ μŠ€ν¬λ¦½νŠΈκ°€ λ™μž‘ν•˜μ§€ μ•Šμ•„ λ³€κ²½ν•˜λ”λΌλ„ λ‹€μ‹œ κ³ μΉ˜λ”λΌλ„ 슀크립트둜 μžλ™ 생성이 λ˜μ•Ό 개인이 κ·Έλƒ₯ κ³ μ³λ²„λ¦¬λŠ”κ²ƒλ³΄λ‹€ 뒀에 μž‘μ—…ν•˜λŠ” μ‚¬λžŒμ΄ 더 μ‰½κ²Œ μž‘μ—…ν• μˆ˜ μžˆλ‹€.

Run setup haproxy for Kubernetes masters

vip 확인

keepalived 확인

λ§ˆμŠ€ν„° λ…Έλ“œ 각각 데λͺ¬ μƒνƒœ 확인

kubernetes μ„€μΉ˜

haproxy-for-k8s-masters κ΄€λ ¨ λ‚΄μš© μˆ˜μ •

group_vars/all/all.yml

hosts νŒŒμΌλ„ 확인

μ΄λ ‡κ²Œ

버전 선택

kubespray/roles/download/defaults/main.ymlμ—μ„œ 버전을 ν™•μΈν• μˆ˜ μžˆλ‹€.

v1.20.0둜 선택

λ¬Έμ œλ“€

  1. μ„€μΉ˜μ‹œ νŠΉμ •λ…Έλ“œλŠ” λΉ μ§€λŠ”λ“― λ³΄μž„ νŠΉμ •λ…Έλ“œλ§Œ λ”°λ‘œ μ„€μΉ˜ν›„ 전체λ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•΄μ£Όμ—ˆλ‹€.

μƒνƒœ 확인

접속 μ„€μ • 정보 κ°€μ Έμ˜€κΈ°

잘 μ„€μΉ˜λ˜μ—ˆλŠ”μ§€ ν™•μΈν•œλ‹€.

remove all setup

argocd μ„€μΉ˜

λΉ„λ²ˆ μ•Œμ•„λ‚΄κΈ°

접속

http://localhost:8080/arrow-up-right

update password

create repo for add

https://github.com/teamsmiley/devops-senima-argocdarrow-up-right

그림처럼 2개의 폴더가 μžˆλ‹€

  • add-apps

    앱을 μΆ”κ°€ν•˜κΈ° μœ„ν•œ yaml

  • deploy

    app 자체의 yaml을 λ„£λŠ” 폴더

λ‘κ°œμ˜ ν΄λ”λŠ” λ‹€μ‹œ κ΅¬λΆ„λœλ‹€.

  • core

    μΏ λ²„λ„€ν‹°μŠ€λ₯Ό μš΄μ˜ν•˜κΈ°μœ„ν•΄ κ΄€λ¦¬ν•΄μ•Όν•˜λŠ” μ•± 폴더

  • apps

    μ‚¬μš©ν•˜λŠ” 앱을 λ„£λŠ” 폴더

add argocd repo to argocd

uiμ—μ„œ 확인 κ°€λŠ₯

add core / apps

Last updated