티스토리 뷰
7탄!! 쿠버네티스에 pod 올리자! pod? 뭐에요?
9탄!! 쿠버네티스 오토스케일링(kubernetes autoscaling)
# 부록!! 쿠버네티스 장애 처리5탄부록!! 쿠버네티스 장애 처리
#기타 참고하기
헬름챠트로 올리기[샘플]11) 쿠버네티스 가상스토리지(Ceph) 설치
1. pod 개요
k8s pod 생성K8s Pod 배포쿠버네티스 Pod 생성하기쿠버네티스 Pod 배포하기
1 파드는 무엇인가?
파드 는 (고래 떼(pod of whales)나 콩꼬투리(pea pod)와 마찬가지로) 하나 이상의(도커 컨테이너 같은)
컨테이너 그룹이다. 이 그룹은 스토리지/네트워크를 공유하고, 해당 컨테이너를 구동하는 방식에 대한 명세를
갖는다. 파드의 콘텐츠들은 항상 함께 배치되고 같이 스케줄되며, 공유 컨텍스트 내에서 구동된다. 파드는
애플리케이션에 특화된 "논리 호스트"를 모델로 하고 있다. 이것은 하나 또는 강하게 서로 결합되어 있는 여러
애플리케이션 컨테이너를 포함한다. 컨테이너 이전의 세상에서 같은 물리적 또는 가상의 머신에서 실행되는
것은 같은 논리적 호스트에서 실행되고 있는 것을 의미한다.
2. 테스트 방법
- yaml 파일 작성 후 적용
testuser@localhost:~$ vi pod-nginx.yaml
1. pod-nginx.yaml 파일을 생성해봅니다.
$vi vi pod-nginx.yaml
아래 내용 삽입
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
2. 적용해보기
$ kubectl apply -f pod-nginx.yaml
pod/nginx created
3. 확인하기
$ kubectl get pod nginx
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 10s
3. 뒷정리(Cleanup)
[root@kuber1m test]# kubectl delete pod nginx
pod "nginx" deleted
시작하기 전에
Kubernetes 클러스터가 있어야하며 kubectl 명령 줄 도구가 클러스터와 통신하도록 구성되어야합니다.
버전을 확인하려면을 입력하십시오 kubectl version.
1. 노드에 레이블 추가
노드 나열 레이블과 함께 클러스터에서 :
kubectl get nodes --show-labels
출력은 다음과 유사합니다.
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker2
노드 중 하나를 선택하고 레이블을 추가하십시오.
kubectl label nodes <your-node-name> disktype=ssd
여기서 <your-node-name>선택한 노드의 이름입니다.
선택한 노드에 disktype=ssd레이블 이 있는지 확인하십시오 .
kubectl get nodes --show-labels
출력은 다음과 유사합니다.
NAME STATUS ROLES AGE VERSION LABELS
worker0 Ready <none> 1d v1.13.0 ...,disktype=ssd,kubernetes.io/hostname=worker0
worker1 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker1
worker2 Ready <none> 1d v1.13.0 ...,kubernetes.io/hostname=worker2
이전 출력에서 worker0노드에 disktype=ssd레이블 이 있음을 알 수 있습니다 .
선택한 노드에 예약 된 포드를 만듭니다.
이 포드 구성 파일은 노드 선택기가있는 포드를 설명합니다 disktype: ssd. 즉, disktype=ssd레이블 이있는 노드에서 포드가 예약됩니다 .
pods/pod-nginx.yaml pods / pod-nginx.yaml을 클립 보드에 복사
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disktype: ssd
구성 파일을 사용하여 선택한 노드에서 스케줄 될 포드를 작성하십시오.
kubectl apply -f https://k8s.io/examples/pods/pod-nginx.yaml
포드가 선택한 노드에서 실행 중인지 확인하십시오.
kubectl get pods --output=wide
출력은 다음과 유사합니다.
NAME READY STATUS RESTARTS AGE IP NODE
nginx 1/1 Running 0 13s 10.200.0.4 worker0
특정 노드에 예약 된 포드 만들기
설정을 통해 특정 노드로 포드를 예약 할 수도 있습니다 nodeName.
pods/pod-nginx-specific-node.yaml pods / pod-nginx-specific-node.yaml을 클립 보드에 복사
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
nodeName: foo-node # schedule pod to specific node
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
구성 파일을 사용하여 예약 foo-node만 되는 포드를 만듭니다 .
무엇 향후 계획
라벨 및 선택기 에 대해 자세히 알아보십시오 .
노드에 대해 자세히 알아보십시오 .
피드백
이 페이지가 도움이 되었나요?
-
노드 나열 레이블과 함께 클러스터에서 :
$kubectl get nodes --show-labels
- 최종 목표.
- $kubectl get pods -o wide
무엇 향후 계획
'3. 쿠버네티스의 모든것' 카테고리의 다른 글
9탄!! 쿠버네티스 오토스케일링(kubernetes autoscaling) (0) | 2020.04.02 |
---|---|
Kubernetes의 이해 (0) | 2020.03.23 |
6탄 !! 도커 컴포즈 VS 쿠버네티스 컴포즈 (0) | 2020.03.22 |
#부록!! 쿠버네티스 트러블 슈팅!!~ (0) | 2020.03.21 |
5탄!! helm 설치 (부록 : 프로메테우스 설치 Ver 3.0) (2) | 2020.03.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 쿠버네티스
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- 트리이스
- 스토리지 클레스
- 버쳐박스
- (InstantClient) 설치하기(HP-UX)
- 커널
- directory copy 후 startup 에러
- [오라클 튜닝] instance 튜닝2
- 여러서버 컨트롤
- MSA
- Oracle
- 튜닝
- [오라클 튜닝] sql 튜닝
- pod 상태
- ubuntu
- 우분투
- 오라클
- 테라폼
- CVE 취약점 점검
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- startup 에러
- 5.4.0.1072
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- 오라클 홈디렉토리 copy 후 startup 에러
- 설치하기(HP-UX)
- 키알리
- 코로나19
- 앤시블
- K8s
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함