- 컨테이너 이미지가 존재한다는 가정하에 가능하다.
- 만약 이미지가 없다면 Docker Hub에서 들고온다. (https://hub.docker.com/search?image_filter=official&type=image)
- Docker Hub의 공식적인 이미지가 아닌 것은 직접 만들어야 하며, 그 이미지를 Docker Hub에 올릴 수 있다. (물론 전체 공개이며, 개인적으로 사용하고 싶다면 Private를 구매해야 한다.)
kubectl create or run #
- run을 통해 이미지와 replicas 등 스펙들을 설정할 수 있다.
1kubectl run mysql-test --image=mysql:5.7.8 --port=3306 --replicas=1 --env="MYSQL_ROOT_PASSWORD=testpw" --env="MYSQL_DATABASE=testdb"kubectl apply #
1kubectl apply -f mysql-test.yaml mysql-testyaml을 통한 명령어 #
yaml을 통해 세부적으로 작성하기 편하며, 혹시나 pod에 대한 속성을 수정할 일이 있다면, 이전에는 어떻게 구성하였는지 확인하기 위해 yaml파일을 폴더 별로 관리를 추천한다.
1apiVersion: v1
2kind: Service
3metadata:
4 name: mysql-test
5spec:
6 ports:
7 - port: 3306
8 selector:
9 app: mysql
10---
11apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
12kind: Deployment
13metadata:
14 name: mysql-test
15spec:
16 selector:
17 matchLabels:
18 app: mysql
19 strategy:
20 type: Recreate
21 template:
22 metadata:
23 labels:
24 app: mysql
25 spec:
26 nodeName: kube-node-1
27 containers:
28 - image: mysql:5.7.8
29 name: mysql-test
30 env:
31 # Use secret in real usage
32 - name: MYSQL_ROOT_PASSWORD
33 value: testpw
34 ports:
35 - containerPort: 3306
36 name: mysql-testAdvertisement