Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
joohanhong
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
JooHan Hong
joohanhong
Commits
f25dc4db
Commit
f25dc4db
authored
4 years ago
by
JooHan Hong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
k8s migration init
parent
a2edc3da
Pipeline
#5216
passed with stages
in 46 seconds
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
96 additions
and
0 deletions
+96
-0
README.md
DOCKER/K8S/MIGRATION/CLUSTER/README.md
+96
-0
No files found.
DOCKER/K8S/MIGRATION/CLUSTER/README.md
View file @
f25dc4db
...
...
@@ -4,5 +4,101 @@
> Docker Swarm -> `K8s`로의 **클러스터 환경**에 대해 검토하고 검증한다.
-
Node 당 하나의 컨테이너만을 운용해야 한다.
-
Manager 또는 Master를 제외한 Node에만 컨테이너가 배포되어야 한다.
-
Front-end LB(HA-PROXY)와의 통신을 원활히 하도록 구성해야 한다.
## Conclusion k8s
> Swarm -> K8s로의 Migration은 검토결과 문제가 없다.
## Docker Swarm
-
**Node 당 하나의 컨테이너만을 운용해야 한다.**
```
python
...
중략
deploy
:
mode
:
global
```
> 이는 Swarm Cluster 외 단독 컨테이너 및 VM 환경에서 대한 리소스사용을 고려한 측면이다. 기본 값은 **Replicated** 다.
-
**Manager 제외한 Node에 컨테이너를 배포해야 한다.**
```
python
deploy
:
placement
:
onstraints
:
[
node
.
hostname
!=
TB2
-
DOCKER
]
```
> 이는 Manager Node에 Storage 운용 및 관리/제어를 위한 목적으로만 사용하기위한 측면이다.
-
**외부 LB와의 통신을 원활히 하도록 구성해야 한다.**
> N/A, 기본 **Overlay** 네트워크로 사용되어도 서비스운영에 문제가 없다.
## K8s
-
**Node 당 하나의 컨테이너만을 운용해야 한다.**
> k8s의 경우는 DaemonSet Object를 Define해서 사용해야 한다.
```
python
apiVersion
:
apps
/
v1
kind
:
DaemonSet
metadata
:
...
중략
```
> 세부적인 내역은 아래의 Link를 확인한다.
[
www.hongsnet.net k8s 구성내역
](
https://gitlab.hongsnet.net/joohan.hong/joohanhong/tree/master/DOCKER/K8S/HONGSNET
)
-
**Manager 제외한 Node에 컨테이너를 배포해야 한다.**
> k8s의 경우 Label을 통해 구분하면 된다.
```
python
apiVersion
:
apps
/
v1
kind
:
DaemonSet
metadata
:
...
spec
:
....
template
:
...
spec
:
...
nodeSelector
:
key
:
worker
```
등록은 다음과 같이 수행하며, 참고적으로 key는 임의의 변수 값이다.
```
bash
# kubectl label nodes cube02 key=worker
```
-
**외부 LB와의 통신을 원활히 하도록 구성해야 한다.**
다음과 같이 검증을 해보았으나, Front-end LB(HA-PROXY)와의 구성(
`NodePort`
) 상 timeout이 발생되는 부분이 발생되었다. 따라서 일반적인 구성은 아니지만,
`hostNetwork`
설정을 통해 이를 충족한다.
```
python
apiVersion
:
apps
/
v1
kind
:
DaemonSet
metadata
:
...
spec
:
...
template
:
...
spec
:
hostNetwork
:
true
```
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment