pod, service 를 빠르게 만 듭 니 다.

4780 단어 쿠 베 넷 스
[size = large] 1. 기계 노드 보기 [/ size]
# kubectl get node

[img]http://dl2.iteye.com/upload/attachment/0119/8233/e5a96a24-e165-3387-b9d9-5969489f9787.png[/img]
[size = large] 2. 명령 으로 nginx [/ size] 를 시작 합 니 다.
#kubectl run my-nginx --image=nginx --replicas=2 --port=80

[img]http://dl2.iteye.com/upload/attachment/0119/8235/8213890f-c773-3539-8455-301c6b0b1d49.png[/img]
[size = large] 3. 노출 서비스 [/ size]
# kubectl expose deployment my-nginx --port=8080 --target-port=80 --external-ip=x.x.x.168

[img]http://dl2.iteye.com/upload/attachment/0119/8237/10d0ecd7-5c31-38da-bacf-836b3a9be050.png[/img]
매개 변수 설명
-- port 용기 의 포트
-- container - port 와 target - port 는 하 숙 호스트 가 리 트 윗 하 는 포트 를 말 하 는데 하 나 를 마음대로 지정 할 수도 있 고 지정 하지 않 을 수도 있다.
-- external - ip 가 외부 에 노출 된 ip 주 소 는 보통 공중 망 IP 주소 로 그 명령 을 실행 한 후에 우 리 는 공중 망 에 접근 할 수 있 지만, 여기 서 문제 가 하나 있 는데 이 IP 주 소 는 반드시 k8s 가 설 치 된 기계 의 IP 여야 한 다 는 것 이다. 만약 당신 이 마음대로 IP 를 사용 하면 접근 할 수 없 으 며, 여기 도 응용 에 불편 을 끼 친다.
--type=LoadBalancer
[size = large] 4. pod [/ size] 보기
# kubectl get po

[img]http://dl2.iteye.com/upload/attachment/0119/8239/45b9a047-7440-3a01-8da6-245dde8d920a.png[/img]
[size = large] 5. 서비스 보기 [/ size]
# kubectl get svc

[img]http://dl2.iteye.com/upload/attachment/0119/8241/87df139f-8d91-3f49-8312-876cb352e607.png[/img]
# kubectl get service my-nginx
[img]http://dl2.iteye.com/upload/attachment/0119/8243/66cef4b0-ba98-3093-acbd-a3b591eff5fd.png[/img]
[size = large] 6. 삭제 [/ size]
# kubectl delete deployment,service my-nginx

[img]http://dl2.iteye.com/upload/attachment/0119/8245/de354439-4fd7-33cb-89d3-a0fd851cee1a.png[/img]
[size = large] 7. 서브 넷 보기 [/ size]
etcdctl 을 통 해 node 기계 의 서브 넷 배분 상황 을 확인 합 니 다.
# etcdctl ls -r |grep subnets
# etcdctl get /coreos.com/network/subnets/10.0.101.0-24

[img]http://dl2.iteye.com/upload/attachment/0119/8247/7b45fb50-8a15-3fb2-887d-39fab34c8dd3.png[/img]
[size = large] 8. pod 내 역 조회 [/ size]
# kubectl describe po my-nginx-2494149703-2m6sc

[img]http://dl2.iteye.com/upload/attachment/0119/8249/b86d83ec-d7ff-30af-bd3e-1a37531ce042.png[/img]
미 러 를 다운로드 할 미 러 를 처음 만 들 었 습 니 다. 기다 리 는 시간 이 길 수 있 습 니 다.
Pod 는 kube - node - 1, 용기 의 ip: 10.0.64.2 에 분배 되 었 습 니 다.
그럼 저 희 는 kube - node - 1 에서 nginx 가 정상적으로 작 동 하 는 지 테스트 합 니 다.
# curl http://10.0.64.2

[img]http://dl2.iteye.com/upload/attachment/0119/8251/83ad6f9b-311a-35e7-b9c6-4c3c46369cde.png[/img]
이로써 nginx 가 성공 적 으로 시작 되 었 습 니 다.
[size = large] 9. 서비스 내 역 보기 [/ size]
#kubectl describe service/my-nginx

[img]http://dl2.iteye.com/upload/attachment/0119/8253/a48f1aa5-a1fa-334b-9caa-68bc5e0c4c68.png[/img]
10.254.242.11 은 Service 의 가상 IP 주소 로 이 가상 주소 의 8080 포트 에 대한 접근 은 두 개의 Endpoints 중 하나 로 재 설정 된다.이 두 개의 Endpoints 는 위 에서 만 든 두 개의 Pods 입 니 다.
Kubernetes 의 Service 는 가상 ip 주 소 를 사 용 했 습 니 다.이 주 소 는 ping 을 통과 할 수 없 지만 8080 포트 에 접근 할 때 해당 하 는 자원 에 접근 할 수 있 습 니 다.
# curl http://10.254.242.11:8080

[img]http://dl2.iteye.com/upload/attachment/0119/8255/51fb69f0-9f4d-344b-a2c0-cb30427d860a.png[/img]
[size = large] 10. iptables 의 규칙 보기 [/ size]
# iptables-save | grep default/my-nginx

[img]http://dl2.iteye.com/upload/attachment/0119/8257/b95340a7-69d0-3244-8cb2-1cb214370ea2.png[/img]
10. 254.242.11 / 32 8080 포트 에 접근 하 라 는 요청 은 10. 0.64.2 / 32 또는 10. 0.10.1. 2 / 32 의 80 포트 로 재 설정 된다.이 규칙 들 은 kube - proxy 에서 생 성 됩 니 다.서비스 에 접근 할 수 있 는 기기 가 필요 하 다 면 이 호스트 에서 kube - proxy 를 시작 해 야 합 니 다.
[size = large] 11. 파일 로 nginx [/ size] 시작 하기
nginx - pod. yaml 편집
# cat nginx-pod.yaml               
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
labels:
app: nginx-test
spec:
containers:
- name: nginx-test
image: nginx
ports:
- containerPort: 80
#kubectl create -f nginx-pod.yaml

[size = large] 12. 서 비 스 를 파일 로 설정 합 니 다 [/ size]
# cat nginx_svc.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-test
labels:
app: nginx-test
spec:
selector:
run: nginx-test
ports:
protocol: TCP
port: 8080
targetPort: 80
# kubectl create -f nginx_svc.yaml

참고: [url]http://kubernetes.io/docs/user-guide/quick-start/[/url]

좋은 웹페이지 즐겨찾기