기본적인 kubernetes resource, option 등을 설명한 블로그입니다. 추가적인 기능을 보고싶으시면 docs를 참고바랍니다.
https://kubernetes.io/docs/home/
- namespace는 하나의 cluster라고 생각하면 됨. 따라서 여러 cluster를 논리적으로 나누는 것을 namepace로 이용.
- kubectl get pods를 하면 default의 pods만 보이고, -n을 이용해 namespace를 정해주면 그 안의 pods만 보여줌.
- kubectl create namespace [name] -> namespace 생성
- kubectl create -f [file_name] -n [ns name] 하거나, metadata에 namespace를 넣으면, 해당 namespace에 생성.
- kubectl get ns -> namespace list 보기
- kubectl create namesapce [name] --dry-run -o yaml > [name].yaml
apiVersion: v1
kind: Namespace
metadata:
name: [ns name]
- kubectl get pods --all-namespaces -> 모든 namespace의 pod 보기.
- resourcequota -> ns내의 resource를 제한시킬 수 있다.
apiVersion: v1
kind: ResourceQuota
metadata:
name: [name]
namespace: [ns name]
spec:
hard:
pods: "10"
requests.cpu: "4"
requests.memory: 5Gi
limits.cpu: "10"
limits.memory: 10Gi
$ kubectl run webserver --image=nginx:1.14
$ kubectl create -f pods.yaml
# pod yaml
apiVersion: v1
kind: Pod
metadata:
name: webserver # pod 이름
spec:
containers:
- name: nginx-container [container 이름]
image: nginx:1.14
imagePullPolicy: Always # kubelet cache에 image의 digest가 있는지 확인 후
# 있으면 쓰고, 없으면 내려받는다.
ports:
- containerPort: 80
protocol: TCP
- name : ~ # 만약 multi container 일 경우
...
'kubernetes, helm, rancher' 카테고리의 다른 글
kubernetes pod resources, env, ReplicationController (0) | 2021.11.23 |
---|---|
kubernetes pod, static pod, self-healing, container type (0) | 2021.11.22 |
kubernetes란? (0) | 2021.11.18 |
http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused error while installing kubernetes (0) | 2021.11.18 |
kubernetes setting in ubuntu (0) | 2021.11.18 |