# node-pool

쿠버네티스 노드 관련 속성을 정의합니다.

```
node-pool
├── data-dir
├── ssh-port
├── master
│   ├── ip
│   ├── private-ip
│   ├── lb-ip
│   └── lb-port
└── node
    ├── ip
    └── private-ip
```

## \[node-pool]

노드들의 공통 속성들을 정의합니다.

### data-dir

노드별 backup, podman, log, kubelet, etcd, container 데이터 디렉터리입니다.

* Type : string
* Default : /data
* Since : v1.0.0

```
/data/
├── backup
│   ├── cluster
│   ├── db
│   └── registry
├── containerd      : containerd's persistent data location
├── etcd            : etcd data location
│   └── member
├── k8s-audit       : apiserver audit logs
├── kubelet         : kubelet root-dir
└── log
```

### ssh-port

설치 시 노드에 접속 할 SSH 포트 번호입니다.

* Type : integer
* Default : 22
* Since : v1.0.0

## \[node-pool.master]

컨트롤 플레인 노드 속성을 정의합니다.

### ip

컨트롤 플레인 노드들의 SSH 접속 IP 주소들 입니다.

* Type : \[]string
* Default : \[]
* Since : v1.0.0

### private-ip

컨트롤 플레인 노드들의 노드 IP입니다.

`node-pool.master.ip`과 동일할 경우 생략 가능합니다.

* Type : \[]string
* Default : \[]
* Since : v1.0.0

### isolated

값이 `true` 면 컨트롤 플레인 노드들에 워크로드가 스케줄링 되지 않도록 taint 처리 합니다.

* Type : boolean
* Default : true _(since v1.2.0)_
* Since : v1.0.0

### lb-ip

컨트롤 플레인 endpoint IP 주소입니다.

* Type : string
* Default : `node-pool.master.private-ip[0]`
* Since : v1.0.0

### lb-port

컨트롤 플레인 endpoint 포트번호입니다.

* Type : integer
* Default : 6443
* Since : v1.0.0

### ~~haproxy-install~~

~~컨트롤 플레인 노드에 haproxy(static-pod)를 설치를 활성화힙니다.~~

~~haproxy는 내부 load balance 역할을 수행합니다.~~

* ~~Type : boolean~~
* ~~Default : true~~
* Since : v1.0.0 \~ v1.0.1

## \[node-pool.node]

워커 노드의 속성을 정의합니다.

### ip

워커 노드들의 SSH 접속 IP 주소들 입니다.

* Type : \[]string
* Default : \[]
* Since : v1.0.0

### private-ip

워커 노드들의 노드 IP입니다.

`node-pool.node.ip`과 동일할 경우 생략 가능합니다.

* Type : \[]string
* Default : \[]
* Since : v1.0.0
