初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編
背景
個人的にインフラの知識以上にこれからのアプリケーションが動く環境を作ってデプロイしたりしてこれからの知識を身に着けたい。そしてより一層、自分の知識のアップデートをしたいと思いました。
その中でこの本に出会い、これから少しずつやったことを残し、未来の自分への手紙としてもあり、見つめ直せればと思いました。
引用や参考と今回の自分の勉強用の書籍の紹介
技術評論社『Kubernetes実践入門』のサンプルコード
Kubernetes実践入門 プロダクションレディなコンテナ&アプリケーションの作り方
実際の学びについて
書籍を読みながら、章ごとに少しずつ進めていきたいと思います。
GitHub のソースコードも使いながら学んで行きたいと思います。
この章の勉強は本当に書籍の写経が主になるかもしれません・・・
勉強開始
マニュフェストを適用する
今までの作成したマニュフェストファイルを適用します
-
kubectl apply -f
でマニュフェストファイルを適用する -
kubectl create
コマンドは初回作成時のみ使用できる -
kubectl apply
は初回はPOST
メソッド、2回目以降はPATCH
メソッドで差分適用される
$ kubectl apply -f .
configmap/mm-config-file configured
configmap/common-env configured
deployment.apps/db configured
service/mattermost-db created
deployment.apps/mattermost configured
secret/common-env configured
起動してログを確認するとこんな感じで接続ができないって言われているログを確認できます
{"level":"info","ts":1587642228.9499817,"caller":"utils/i18n.go:83","msg":"Loaded system translations for 'en' from '/mm/i18n/en.json'"}
{"level":"info","ts":1587642228.9509335,"caller":"app/app.go:181","msg":"Server is initializing..."}
{"level":"info","ts":1587642228.9539752,"caller":"sqlstore/supplier.go:198","msg":"Pinging SQL master database"}
{"level":"error","ts":1587642228.963808,"caller":"sqlstore/supplier.go:210","msg":"Failed to ping DB retrying in 10 seconds err=dial tcp :3306: connect: connection refused"}
$ kubectl get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
db-58c88dc547-j9xlz 1/1 Running 0 6m54s 10.1.0.177 docker-desktop <none> <none>
mattermost-6ccbbf547d-jlbqv 0/1 ImagePullBackOff 0 6m54s 10.1.0.182 docker-desktop <none> <none>
mattermost-6ccbbf547d-vjbhd 0/1 ImagePullBackOff 0 6m54s 10.1.0.181 docker-desktop <none> <none>
Running の Pod の IP アドレスへ疎通の確認をしてみる
$ kubectl run test1 -i --rm --image k8spracticalguide/busybox:1.28 --restart=Never -- ping -c 1 10.1.0.177
PING 10.1.0.177 (10.1.0.177): 56 data bytes
64 bytes from 10.1.0.177: seq=0 ttl=64 time=0.171 ms
--- 10.1.0.177 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.171/0.171/0.171 ms
pod "test1" deleted
次は 3.5.2 章をやっていきます。
- Service マニュフェストで通信できることを学びます
最後に
今回の最後に「サービスを抽象化する Service/Endpoint」オブジェクトの利点を読んでなんとなくイメージして次につなげます。
- Pod の IPアドレスを仮想IPに束ねる
- 仮想IPをDNSにより名前解決できるようにする Service オブジェクトと Endpoint オブジェクトがある
- 仮想IPは ClusterIP と呼ばれている
- 名前でアクセスできるから Service を再作成、別のクラスタへデプロイしてもマニュフェストのポータビリティがある
- アプリケーション間を疎結合に保てる
プログラムでもアーキテクチャで干渉層があるけどそういう感じに似ているのかな?と思いつつ次につなげていきたいと思います。
今までの投稿
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)Pod編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)NameSpace 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)Label 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)ReplicaSet 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)Deployment 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)Service 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)ConfigMap 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)Secret 編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)操作編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)体感編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)体感編パート2
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)体感編パート3(Label操作)
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)体感編パート3(OwnerReference 操作)
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)マニュフェスト編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)マニュフェスト(ConfigMap)編
Author And Source
この問題について(初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編), 我々は、より多くの情報をここで見つけました https://qiita.com/nodokaodayaka/items/71c6f7d469cf2f277d3d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .