Accordion Install Ⅱ

<<Accordion Install Ⅰ>>에서 이어지는 글입니다.

이전 글 바로가기:  Accordion Install Ⅰ – NEOCLOVA Tech Blog (네오클로바 기술블로그)

 

 

Step 9. accordion 설치 확인

 

각 노드들의 status 및 pod 상태를 확인합니다.

아래와 같이 node들의 상태가 Ready이며, pod들이 이상 없이 Running으로 되어 있는 것을 확인합니다.

 

브라우저에서 https://master_ip:30000 으로 접속합니다. (초기 ID/PASSWORD는 admin/Pa$$word 입니다.)

 

 

 

Step 10. Pod error/ContainerStatusUnknown/CrashLoopBackOff

Accordion 설치가 fail 없이 완료가 되었음에도 파드의 상태가 error / ContainerStatusUnknown/CrashLoopBackOff 일 수 있습니다.

이상이 있는 pod들은 각 describe, log 를 확인하여 문제를 진단 후 해결 해야 합니다.

특정 노드에 문제가 있는 경우
kubectl get pods -n acc-global –field-selector spec.nodeName=acc-211-worker02 명령어를 이용해 worker02 노드에 뜬 pod들만이 이상이 있는지를 확인하고, 전체 워커노드를 재부팅 하는 것도 도움이 될 수 있습니다.

 

 

Step 11. Accordion master node 추가

# 쿠버네티스는 마스터 노드와 워커 노드의 개수를 유연하게 구성할 수 있습니다. 다만 고가용성 구성을 위해 마스터 노드는 3대 이상 구성하는 것이 권장됩니다.

accordion-installer/hosts 파일에서 Master 서버를 추가합니다.

$ vi hosts

 

install-server  ansible_host=127.0.0.1     ansible_connection=local   node_role=infra

#########################################################################################
# host-cluster List
#########################################################################################
acc-host-master    ansible_host=192.168.82.101   ansible_connection=ssh   node_role=infra
acc-host-master2   ansible_host=192.168.82.102    ansible_connection=ssh     node_role=infra  # master 2번 서버의 정보 기입
acc-host-master3   ansible_host=192.168.82.103    ansible_connection=ssh     node_role=infra  # master 2번 서버의 정보 기입
acc-host-node1    ansible_host=192.168.82.104    ansible_connection=ssh     node_role=infra # worker 서버의 ip Address
acc-host-node2    ansible_host=192.168.82.105    ansible_connection=ssh     node_role=infra # worker 서버의 ip Address

#########################################################################################
# member-cluster List
#########################################################################################
#acc-member-master    ansible_host=10.140.1.2    ansible_connection=ssh   node_role=infra
#acc-member-node1    ansible_host=10.140.1.3    ansible_connection=ssh     node_role=infra
#acc-member-node2    ansible_host=10.140.1.4    ansible_connection=ssh     node_role=infra
#acc-member-master2   ansible_host=10.140.1.5    ansible_connection=ssh     node_role=infra
#acc-member-master3   ansible_host=10.140.1.6    ansible_connection=ssh     node_role=infra

 

#########################################################################################
# Group List
#########################################################################################
[local]
install-server

#########################################################################################
# Manager Group

[host-master]
acc-host-master

[host-master-cluster]
acc-host-master2 # 주석 해제
acc-host-master3 # 주석 해제

[host-minions]
acc-host-node1
acc-host-node2

[host-infra]
[host-etcd]

#########################################################################################
# Member Group

[member-master]
#acc-member-master

[member-master-cluster]
#acc-member-master2
#acc-member-master3

[member-minions]
#acc-member-node1
#acc-member-node2

[member-infra]

[member-etcd]

#########################################################################################… 중략

 

accordion-installergroup_vars/host.yml 파일에서 Master 서버를 추가합니다.
$ vi host.yml

 

 

#- setup variable for cluster installation

########################################################
## Master configuation
########################################################
# cluster_name
cluster_name: "host-cluster"
# master isolation ( yes / no )
master_isolation: "yes" # 마스터 노드의 역할을 워커 노드로부터 격리
master_host_name: "acc-211-master01"
master_ip: 192.168.82.101

acc_interface: ens3
########################################################
# 3master mode( yes / no )
########################################################
master_mode: "yes” # 3중화 구성이므로 yes로 수정
master2_ip: 192.168.82.102 # master 2번 서버의 정보 기입
master3_ip: 192.168.82.103 # master 3번 서버의 정보 기입
master2_hostname: "acc-211-master02" # master 2번 서버의 정보 기입
master3_hostname: "acc-211-master03" # # master 3번 서버의 정보 기입
# LB_mode ( L4 / haproxy )
LB_mode: "haproxy"
LB_port: 8443
LB_vip: 192.168.82.100 # 3중화 구성이므로 vip를 이용
# LB_domain_option ( yes / no )
LB_domain_option: "no"
LB_domain_address: "l4.domain.accordions.co.kr"

# Set it up if you want to add the master server later
# If master_mode is "no", it will not work.
# single_option( yes / no )
single_option: "no"

########################################################
## container_name (containerd & cri-o)
########################################################
container_option: "containerd"

# container_option (containerd)
selinux_enable: "no"

# container_option (cri-o)
pid_limit: "4096"

########################################################
# storage setting
########################################################
# storage_option ( nfs / ceph / local )
storage_option: "nfs"

# accordion_storage_path
accordion_storage_path: "/nfs/data2" # 사용하는 nfs 경로로 수정

# nfs_setup ( internal / external )
nfs_setup: "internal" # 별도의 nfs 서버를 두지 않고 master node를 이용
nfs_server_ip: 192.168.82.101 # master node의 ip add 입력

# nfs_version ( v3 / v4 / v4.1 / v4.2 )
nfs_version: "v3"

# ceph_option ( cephfs / rbd )
ceph_option: "cephfs"

#ceph health, ceph fsid, ceph auth get-key client.admin, ceph status
ceph_server_ip: "10.20.200.107"
ceph_server_port: "6789"
ceph_id: "admin"
ceph_key: "AQCKoqVh0eR5MxAAL4WziV7oyVsdtHC6Wz0RcQ=="
#ceph_id: "kubernetes"
#ceph_key: "AQBDpKVhFhPCIRAAf1xqSLgi558DIH+FvcCyMQ=="
ceph_fsid: "84ab6f51-d13e-4a83-9ccc-fd3b9228e728"
ceph_fsname: "cephfs"
#ceph_fsname: "cephrbd_pool"

basic_storageclass_name: "accordion-storage"

#######################################################
# sub storage setting
#################################################

# user_storage_option ( yes / no )
user_storage_enabled: "no"

user_storageclass_name: "user-storage"

# storage_option ( nfs / local )
user_storage_option: "nfs"

# user_storage_path
user_storage_path: "/nfs/user"

# user_nfs_setup ( internal / external )
user_nfs_setup: "internal"
user_nfs_server_ip: 10.140.0.2

# user_nfs_version ( v3 / v4 / v4.1 / v4.2 )
user_nfs_version: "v3"

########################################################
# etcd external option
########################################################
etcd_external: "no"

########################################################
# base registry
########################################################
# accordion_registry_option ( local / external )
base_registry_option: "local"
base_registry_addr: 192.168.82.101 # master node의 ip add 입력
base_registry_port: 5000
base_registry_id: acc-registry
base_registry_passwd: accordionadmin

… 중략

 

위 환경 구성이 다 되었다면 accordion-installer/container-start.sh를 실행하여 ansible 컨테이너를 실행합니다.

$ sh container-start.sh

컨테이내 내부 기본 경로는 /mantech이며 /mantech/accordion-installer로 이동하여 설치를 진행합니다.

이제 마스터 노드 추가를 진행합니다.

$ sh addmaster.sh host

 

BECOME password:
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

PLAY [node check(300s)] ***********************************************************************************************************************************************************************

TASK [wait connection] *************************************************************************************************************************************************************************

Tuesday 28 May 2024 14:56:57 +0900 (0:00:00.017) 0:00:00.017 ***********
ok: [acc-host-master]
ok: [acc-host-master2]
ok: [acc-host-master3]
ok: [acc-host-node1]
ok: [acc-host-node2]

PLAY RECAP ************************************************************************************************************************************************************************************
acc-host-master : ok=98 changed=63 unreachable=0 failed=0 skipped=49 rescued=0 ignored=1
acc-host-master2 : ok=181 changed=97 unreachable=0 failed=0 skipped=113 rescued=0 ignored=6
acc-host-master3 : ok=181 changed=97 unreachable=0 failed=0 skipped=113 rescued=0 ignored=6
acc-host-node1 : ok=3 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0
acc-host-node2 : ok=3 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0

 

추가가 완료 되었다면 각 노드들의 status 및 pod 상태를 확인합니다.

 

 

 

 

 

Accordion 2.0 노드 추가/제거 -v2.11

 

 

Step 1. Accordion worker node 제거

 

# 테스트 시연을 위해 이미 구성 된 worker node 2번 서버(192.168.10.35 / acc-w2)를 제거거 후 다시 구성하는 것을 시연합니다.

 

[현재 node 구성]

먼저 제거 할 node를 확인합니다.

$ vi accordion-installer/hosts

 

install-server  ansible_host=127.0.0.1     ansible_connection=local   node_role=infra

#########################################################################################
# host-cluster List
#########################################################################################
acc-host-master    ansible_host=192.168.10.31   ansible_connection=ssh   node_role=infra
acc-host-master2   ansible_host=192.168.10.32    ansible_connection=ssh     node_role=infra
acc-host-master3   ansible_host=192.168.10.33    ansible_connection=ssh     node_role=infra
acc-host-node1    ansible_host=192.168.10.34    ansible_connection=ssh     node_role=infra
acc-host-node2    ansible_host=192.168.10.35    ansible_connection=ssh     node_role=infra # 제거 할 노드 확인

#########################################################################################
# member-cluster List
#########################################################################################
#acc-member-master    ansible_host=10.140.1.2    ansible_connection=ssh   node_role=infra
#acc-member-node1    ansible_host=10.140.1.3    ansible_connection=ssh     node_role=infra
#acc-member-node2    ansible_host=10.140.1.4    ansible_connection=ssh     node_role=infra
#acc-member-master2   ansible_host=10.140.1.5    ansible_connection=ssh     node_role=infra
#acc-member-master3   ansible_host=10.140.1.6    ansible_connection=ssh     node_role=infra

#########################################################################################
# Group List

 

accordion-installer/container-start.sh를 실행하여 ansible 컨테이너를 실행합니다.

$ sh container-start.sh

이 후 아래 명령어를 통해 worker node 2번 서버를 제거합니다.

$ sh removenode.sh acc-host-node2

스크립트가 완료 되었다면 현재 노드를 확인하여 worker node 2번 서버가 제거되었는지 확인합니다.

 

Step 2. Accordion worker node 추가

 

[현재 node 구성]

추가 할 node 정보를 추가합니다. (worker node 2번 서버(192.168.10.35 / acc-w2)

$ vi accordion-installer/hosts

 

install-server  ansible_host=127.0.0.1     ansible_connection=local   node_role=infra

#########################################################################################
# host-cluster List
#########################################################################################
acc-host-master    ansible_host=192.168.10.31   ansible_connection=ssh   node_role=infra
acc-host-master2   ansible_host=192.168.10.32    ansible_connection=ssh     node_role=infra
acc-host-master3   ansible_host=192.168.10.33    ansible_connection=ssh     node_role=infra
acc-host-node1    ansible_host=192.168.10.34    ansible_connection=ssh     node_role=infra
acc-host-node2    ansible_host=192.168.10.35    ansible_connection=ssh     node_role=infra # 추가 할 노드 정보 기입

#########################################################################################
# member-cluster List
#########################################################################################
#acc-member-master    ansible_host=10.140.1.2    ansible_connection=ssh   node_role=infra
#acc-member-node1    ansible_host=10.140.1.3    ansible_connection=ssh     node_role=infra
#acc-member-node2    ansible_host=10.140.1.4    ansible_connection=ssh     node_role=infra
#acc-member-master2   ansible_host=10.140.1.5    ansible_connection=ssh     node_role=infra
#acc-member-master3   ansible_host=10.140.1.6    ansible_connection=ssh     node_role=infra

#########################################################################################
# Group List
#########################################################################################
[local]
install-server

#########################################################################################
# Manager Group

[host-master]
acc-host-master

[host-master-cluster]
acc-host-master2
acc-host-master3

[host-minions]
acc-host-node1
acc-host-node2 # 추가 할 노드 주석 해제

 

accordion-installer/container-start.sh를 실행하여 ansible 컨테이너를 실행합니다.

$ sh container-start.sh

이 후 아래 명령어를 통해 worker node 2번 서버를 추가합니다.

$ sh addnode.sh acc-host-node2

스크립트가 완료 되었다면 현재 노드를 확인하여 worker node 2번 서버가 추가되었는지 확인합니다.

accordion

 

 

 

자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의:  info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr

 

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다