【Kubernetes】Kubernetesのヘッドレスサービスを理解したい

apiVersion : v1の
種類: サービス
メタデータ:
名前: サンプル・ヘッドレス
仕様:
タイプ: CLUSTERIP
CLUSTERIP : なし
ポート:
- 名前: " HTTPポート"
プロトコル: " TCP"
ポート: 80
targetPort : 80
セレクター:
アプリ: サンプルアプリ
kubectl apply -f sample-headless.yaml
kubectl get service sample-headless
出力結果
名前タイプクラスターIP外部IPポート年齢
sample-headless ClusterIPなし<なし> 80 / TCP 8分9秒
apiVersion : apps / v1
種類: StatefulSet
メタデータ:
名前: sample-statefulset-
headless 仕様:
serviceName : サンプルヘッドレス
レプリカ: 3
セレクター:
matchLabels :
app : sample-app
テンプレート:
メタデータ:
ラベル:
app : サンプルアプリ
仕様:
コンテナー:
- 名前: nginx-container
イメージ: nginx:1.12
kubectl apply -f sample-statefulset-headless.yaml
kubectl get statefulsets sample-statefulset-headless
出力結果
名前対応年齢
sample-statefulset-headless 3/3 7分11秒
kubectl run --image = centos:6 --restart = Never --rm -i testpod-dig
sample-headless.default.svc.cluster.local
出力結果
3のIPアドレスが返されていることがわかる
; << >> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 << >>
sample-headless.default.svc.cluster.local
;; グローバルオプション:+ cmd
;; 答えを得ました:
;; ->> HEADER <<-opcode:QUERY、status:NOERROR、id:33653
;; フラグ:qr aa rd ra; クエリ:1、回答:3、権限:0、追加:0
;; 質問セクション:
; sample-headless.default.svc.cluster.local。で
;; 回答セクション:
sample-headless.default.svc.cluster.local。5 IN A 10.42.0.11
sample-headless.default.svc.cluster.local。5 IN A 10.42.2.8
sample-headless.default.svc.cluster.local。5 IN A 10.42.1.8
;; クエリ時間:1ミリ秒
;; サーバー:10.43.0.10#53(10.43.0.10)
;; いつ:2019年10月6日05:19:56
;; MSGサイズrcvd:230
ポッド「testpod」が削除されました
kubectl run --image = centos:6 --restart = Never --rm -i testpod-dig
sample-statefulset-headless-0.sample-headless.default.svc.cluster.
local
出力結果
IP アドレスが返ってきている
; << >> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 << >>
sample-statefulset-headless-0.sample-headless.default.svc.cluster.
local
;; グローバルオプション:+ cmd
;; 答えを得ました:
;; ->> HEADER <<-opcode:QUERY、status:NOERROR、id:39140
;; フラグ:qr aa rd ra; クエリ:1、回答:1、権限:0、追加:0
;; 質問セクション:
; sample-statefulset-headless-0.sample-headless.default.svc.cluster.
local。で
;; 回答セクション:
sample-statefulset-headless-0.sample-headless.default.svc.cluster.
local。5 IN A 10.42.1.8
;; クエリ時間:1ミリ秒
;; サーバー:10.43.0.10#53(10.43.0.10)
;; いつ:2019年10月6日05:22:03
;; MSGサイズrcvd:176
ポッド「testpod」が削除されました