centos Kubernetes install ( kebeadm 설치 / on premise 환경 )

O/S 환경 : Centos 7.x
인프라 환경 : on premise
서버 구성 : 총 4대 (master 1대 / worker 노드3대) /
master서버는 전체 컨트롤을 하는 서버이고  worker 3대는 실제 pods가 운영되는 서버

1. 호스트네임 수정 (master, workernode 모두 해당)

2. 마스터서버에서 호스트네임지정

3. 워커노드 1~3번서버에서 호스트네임 수정

4. master,worker 노드 모두 작업 진행 ( selinux 중지 및 방화벽 중지 )

만약 방화벽을 사용하고 싶다면 아래 해당 포트들을 허용해줘야 한다 (master,worker 모두 해당

5. 스왑이 활성화 되어 있다면 off 진행 (모든서버)

6. 기본환경설정 맞췄으면 모든 서버 한번 리부팅

7. kubernetes.repo  추가  (  master,worker 모든서버 대상)

8. yum utils 설치 진행 ( master,worker 모든서버 대상)

9. docker repo 추가 ( master,worker 모든서버 대상)

 

10. docker , kubeadm , containerd 설치 (master,worker 모든서버 대상)

11. 서비스 활성화 (master,worker 모든서버 대상)

12. master 서버에서 작업 (master server only ) / netfilter 추가 및 nf-call 수정

13. containerd 서비스 등록 및 시작 ( master 서버에서 작업 master server only )

14. containerd 파일 삭제 그냥해도 되는데 추후 작업시 에러발생때문에 사전에 환경설정 삭제 및 시작 ( master 서버에서 작업 master server only )

15. kubeadm 이용하여 설치 진행 (master 서버에서 작업 master server only)
해당 작업시 에러가 발생되는 경우 소켓이 정상인지 파일이 이미 있는지 에러 문구를 확인 후 조치 후 다시 작업해야함

위 설명대로 환경설정 복사를 진행하면 된다 (master 서버에서 작업 master server only)

16. 이제 쿠버네틱스에서 네트워크 설정을 잡아줘야 하는데 이게 너무 어렵다 보니 yaml 파일을 이용해서 네트워크 설정 calico 이용 (master에서만 작업)

17 .다운받았으면 kebectl 명령어를 이용해서 생성 (master에서만 작업)

여기까지도 정상적으로 설치가 되었다면 마스터 서버는 모든 작업이 완료된것이다

18. 준비가 되었는지 확인

Ready 가 되어 있다면 정상적으로 설치 완료

 

여기서부터는 worker1~3번서버에서의 작업  / 방화벽은 모두 중지 후 작업을 진행한다
방화벽 관련 포트는 따로 정리해서 올릴테니 우선 테스트환경이니 방화벽은 중지 후 진행
방화벽을 등록한다면 이 글에서4번의 항목을 확인하면 된다

19. 방화벽 중지 및 netfilter 등록 ( worker1~3번서버에서만 작업)

20. containerd 환경설정 파일 삭제 및 재시작 ( worker1~3번서버에서만 작업)

21. kubeadm을 이용하여 master 서버에 join (worker1~3번서버에서만 작업) / 상단 master에서 init 작업후에 나온 값을 이용 그대로 복사

위와 같이 출력되어야 정상적으로 join 이 된것이다 여기서 에러가 발생되면 원인이 무엇인지 로그 내용을 보고 수정하면 된다

22. 3개의 worker 노드가 생성되었는지 확인 (master 에서 작업)

23.  간단하게 nginx를 이용해서 3개의 웹서버를 만들어 보자 (master 에서 작업)

24. 동작중인지 pod 확인

25. 좀더 자세하게 아이피까지 확인하려면 -o wide 옵션 사용 (master에서 작업)

26. 웹페이지의 index.html 파일을 한번 수정해 보자  kubectl exec 명령어 이용  ( master에서 작업)
(명령어 부분은 추후 다시 한번 정리하니 우선 테스트 환경이니 그냥 따라하기 )

위 내용은 kubectl exec 를 이용하여 pods의 값을 입력 -it — /bin/bahs 는 해당 서버로 접속

이제 curl를 이용해서 nginx web서버를 접속 테스트 해보자

정상적으로 출력된 것을 확인 할 수 있다

테스트로 만든거 삭제 1개씩 삭제를 할때는 pod 이름

모든 pod 삭제시

 

 

https://xinet.kr/?p=3791  kubernetes bash 자동완성

 

 

 

 

 


코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호