初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)公開編パート1(NodePort)
背景
個人的にインフラの知識以上にこれからのアプリケーションが動く環境を作ってデプロイしたりしてこれからの知識を身に着けたい。そしてより一層、自分の知識のアップデートをしたいと思いました。
その中でこの本に出会い、これから少しずつやったことを残し、未来の自分への手紙としてもあり、見つめ直せればと思いました。
引用や参考と今回の自分の勉強用の書籍の紹介
技術評論社『Kubernetes実践入門』のサンプルコード
Kubernetes実践入門 プロダクションレディなコンテナ&アプリケーションの作り方
実際の学びについて
書籍を読みながら、章ごとに少しずつ進めていきたいと思います。
GitHub のソースコードも使いながら学んで行きたいと思います。
この章の勉強は本当に書籍の写経が主になるかもしれません・・・
勉強開始
- アプリケーションを外部に公開する方法を学びます
- NodePort を使って公開する
- 外部 LoadBalancer を使って公開する
- Ingress を使って公開する
- NodePort を使って公開する
- 外部 LoadBalancer を使って公開する
- Ingress を使って公開する
今回は「NodePort を使って公開する」をやっていこうと思います
NodePort を使って公開する
- すべてのノードに同じポートが開放される
- ポートは 3000-32767 までが指定できる
- expose コマンドでも実施できる
範囲外だと下記のようにエラーが出るし、Service でもできることを一旦確認
$ kubectl create service nodeport invalid-nodeport --tcp 8086 --node-port 32768
The Service "invalid-nodeport" is invalid: spec.ports[0].nodePort: Invalid value: 32768: provided port is not in the valid range. The range of valid ports is 30000-32767
マニュフェスト作成
$ kubectl expose --type NodePort --port 8065 deployment mattermost --dry-run -o yaml > mattermost-service.yaml
--- a/ch3.6.1/manifests/mattermost/mattermost-service.yaml
+++ b/ch3.6.1/manifests/mattermost/mattermost-service.yaml
@@ -3,7 +3,7 @@ kind: Service
metadata:
creationTimestamp: null
labels:
- app: mattermost
+ run: mattermost # コマンドで作成すると run となる
name: mattermost
spec:
ports:
@@ -11,7 +11,7 @@ spec:
protocol: TCP
targetPort: 8065
selector:
- app: mattermost
+ run: mattermost # コマンドで作成すると run となる
type: NodePort
status:
loadBalancer: {}
ここは、
app
で実施するように修正する
マニュフェストを適用する
$ kubectl apply -f mattermost-service.yaml
service/mattermost created
マニュフェストの適用を確認
$ kubectl get svc mattermost -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
mattermost NodePort 10.108.64.60 <none> 8065:32020/TCP 2m10s app=mattermost
アクセス確認
以前は localhost
で接続していたけど、名前で接続してみたいと思ったので、名前を確認
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
動作確認
次は 3.6.2 章をやっていきます。
写経しながら「外部 LoadBalancer を使って公開する」をやっていきます
最後に
https://github.com/kubernetes-practical-guide/examples/tree/master/ch3.6.1/manifests/mattermost
今回は GitHub のマニュフェストを確認しながら行ったのですが・・・
自分のちから不足からかうまく動かなかったので、mattermost-preview のコンテナを使って
やってみました。
ここらへんのデバッグも自分でできるようになりたいと思いました。
今までの投稿
- 初心者の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)編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編 パート2
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編 パート3
- 初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)通信編 パート4
Author And Source
この問題について(初心者のKubernetes入門(書籍 Kubernetes 実践入門の写経から学ぶ)公開編パート1(NodePort)), 我々は、より多くの情報をここで見つけました https://qiita.com/nodokaodayaka/items/754a32235cf7e648e8f9著者帰属:元の著者の情報は、元の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 .