Pod는 컨트롤러가 관리하므로 한 군데 고정하여 생성되지 않고, 클러스터 안을 이동하면서 생성되어 동작
⇒ 서비스를 구성하여 파드가 클러스터 내 어떤 노드에 있든 상관없이 서비스의 고정 IP 주소를 이용하여 접근이 가능하므로 클러스터 내부 또는 외부에서 클러스터 안의 파드로 접근이 가능하도록 함
[root@master ~/kube/08]# kubectl create deployment webserver --image=nginx --port=80 --replicas=3
deployment.apps/webserver created
[root@master ~/kube/08]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
webserver-5d9fb79495-7qxw6 1/1 Running 0 15s 10.233.75.53 node2 <none> <none>
webserver-5d9fb79495-f59rv 1/1 Running 0 15s 10.233.102.164 node1 <none> <none>
webserver-5d9fb79495-qbk7d 1/1 Running 0 15s 10.233.71.31 node3 <none> <none>
[root@master ~/kube/08]# curl <http://10.233.71.31>
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="<http://nginx.org/>">nginx.org</a>.<br/>
Commercial support is available at
<a href="<http://nginx.com/>">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@master ~/kube/08]# kubectl delete pod --all
pod "webserver-5d9fb79495-7qxw6" deleted
pod "webserver-5d9fb79495-f59rv" deleted
pod "webserver-5d9fb79495-qbk7d" deleted
[root@master ~/kube/08]# kubectl delete pod --all
pod "webserver-5d9fb79495-9htfw" deleted
pod "webserver-5d9fb79495-n2626" deleted
pod "webserver-5d9fb79495-rj5tr" deleted
[root@master ~/kube/08]# curl <http://10.233.71.31>
^C
[root@master ~/kube/08]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
webserver-5d9fb79495-csk5b 1/1 Running 0 19s 10.233.75.55 node2 <none> <none>
webserver-5d9fb79495-pmcbc 1/1 Running 0 19s 10.233.71.33 node3 <none> <none>
webserver-5d9fb79495-wzqd7 1/1 Running 0 19s 10.233.102.166 node1 <none> <none>
▶ pod가 삭제되고 새로 구동되고 나면 pod의 IP가 변경되어 기존의 pod IP로는 접근할 수 없음
[root@master ~/kube/08]# kubectl api-resources | grep service
serviceaccounts sa v1 true ServiceAccount
services svc v1 true Service
apiservices apiregistration.k8s.io/v1 false APIService