Ubuntu 20.04
Sponsored Link

Kubernetes : Pod デプロイ2020/08/19

 
Pod 作成等の基本操作です。
[1] Pod の作成/削除等の操作です。
# [test-nginx] pod を起動する

root@dlp:~#
kubectl create deployment test-nginx --image=nginx

deployment.apps/test-nginx created
root@dlp:~#
kubectl get pods

NAME                          READY   STATUS    RESTARTS   AGE
test-nginx-7b7d9954bd-79qn4   1/1     Running   0          17s

# [test-nginx] pod の環境変数を表示する

root@dlp:~#
kubectl exec test-nginx-7b7d9954bd-79qn4 -- env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=test-nginx-7b7d9954bd-79qn4
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_SERVICE_HOST=10.96.0.1
KUBERNETES_SERVICE_PORT=443
NGINX_VERSION=1.19.2
NJS_VERSION=0.4.3
PKG_RELEASE=1~buster
HOME=/root

# [test-nginx] pod にシェルアクセス

root@dlp:~#
kubectl exec -it test-nginx-7b7d9954bd-79qn4 -- bash
root@test-nginx-7b7d9954bd-79qn4:/#
hostname

test-nginx-7b7d9954bd-79qn4
root@test-nginx-7b7d9954bd-79qn4:/#
exit
# [test-nginx] pod のログを表示する

root@dlp:~#
kubectl logs test-nginx-7b7d9954bd-79qn4

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up

# pod をスケールアウトする

root@dlp:~#
kubectl scale deployment test-nginx --replicas=3

deployment.extensions/test-nginx scaled
root@dlp:~#
kubectl get pods -o wide

NAME                          READY   STATUS    RESTARTS   AGE    IP           NODE               NOMINATED NODE   READINESS GATES
test-nginx-7b7d9954bd-79qn4   1/1     Running   0          117s   10.244.1.2   node01.srv.world   <none>           <none>
test-nginx-7b7d9954bd-kp9m2   1/1     Running   0          11s    10.244.1.3   node01.srv.world   <none>           <none>
test-nginx-7b7d9954bd-zx84d   1/1     Running   0          11s    10.244.2.2   node02.srv.world   <none>           <none>

# サービスを設定する

root@dlp:~#
kubectl expose deployment test-nginx --type="NodePort" --port 80

service "test-nginx" exposed
root@dlp:~#
kubectl get services test-nginx

NAME         TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
test-nginx   NodePort   10.109.174.127   <none>        80:30878/TCP   6s

# アクセス確認

root@dlp:~#
curl 10.109.174.127

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
.....
.....
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

# サービスを削除する

root@dlp:~#
kubectl delete services test-nginx

service "test-nginx" deleted
# Pod を削除する

root@dlp:~#
kubectl delete deployment test-nginx

deployment.extensions "test-nginx" deleted
関連コンテンツ