初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实践复述中学习)通信部分

背景

個人的にインフラの知識以上にこれからのアプリケーションが動く環境を作ってデプロイしたりしてこれからの知識を身に着けたい。そしてより一層、自分の知識のアップデートをしたいと思いました。

在其中我遇到了这本书,我希望能够一点一点地留下我所做的事情,并把它作为给未来自己的一封信,希望能够重新审视。

引用和参考以及这次我自己学习所用的书籍介绍

关于实际学习

我想一边阅读书籍,一边逐章进行一点一点的学习。
我也想通过使用GitHub的源代码来学习。
学习这一章可能真的主要是通过模仿书籍上的内容来进行的。

勉强开始

    https://github.com/kubernetes-practical-guide/examples/tree/master/ch3.5.1/manifests/mattermost

应用宣言

今までの作成したマニュフェストファイルを適用します

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 マニュフェストで通信できることを学びます

最后

我会在这里阅读有关“将服务/端点抽象化”的对象的优点,并试着以某种方式将其连接起来。

    • Pod の IPアドレスを仮想IPに束ねる

 

    • 仮想IPをDNSにより名前解決できるようにする Service オブジェクトと Endpoint オブジェクトがある

 

    • 仮想IPは ClusterIP と呼ばれている

 

    • 名前でアクセスできるから Service を再作成、別のクラスタへデプロイしてもマニュフェストのポータビリティがある

 

    アプリケーション間を疎結合に保てる

在程序中也有干扰层,但它是否类似于架构?我想继续连接到下一个节点。

以前的帖子

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)Pod部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)NameSpace部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)Label部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)ReplicaSet部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)Deployment部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)Service部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)ConfigMap部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)Secret部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)操作部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)体验部分

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)体验部分2

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)体验部分3(Label操作)

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)体验部分3(OwnerReference操作)

 

    1. 《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)配置文件部分

 

    《Kubernetes入门指南 for 初学者》(基于《Kubernetes实践指南》一书的笔录)配置文件(ConfigMap)部分