ラベルとサービスのNodePortタイプのシンプルで実用的なK8S

サービス、CLUSTERIPの最後の主要な1種類を述べ、次のNodePortは語りました。出典:https://github.com/limingios/docker/tree/master/No.10

ポッドによるサービスを作成します。

  • ラボディレクトリにサービスを入力します。

 

 cd deployk8s-master
 cd labs
 cd services

  • ビューのnginx-ポッド

 

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
  - name: nginx-container
    image: nginx
    ports:
    - name: nginx-port
      containerPort: 8

 

kubectl create -f pod_nginx.yml 
kubectl get pods

  • サービスタイプがnodePortで作成します。

型CLUSTERIPのデフォルト形式

 

kubectl expose pods nginx-pod -h
expose pods nginx-pod --type=NodePort
kubectl describe node

image.png

私は何をまだ理解できますか?実際にnodePortがポートに直接さらされている、あなたは直接アクセスすることができ、そしてクールはクールが、安全ではありません。

フォームYMLファイルに従ってポッドを介してサービスを作成します。

  • 削除サービス

ポッドはまだ、サービスは正常に、アプリの必須の対応を削除されました。

 

kubectl delete service nginx-pod
kubectl get pods
kubectl get svc
get pods --show-labels
more service_nginx.yml 

image.png

  • サービスを作成します。

 

kubectl create -f service_nginx.yml
vim service_nginx.yml 

  • 理解のラベル

ラベルK8S機構異なるサービスまたはビジネスサービスの弱い会合ラベルを介して重要な設計目的であり、柔軟な分類および選択は、ユーザーが特定の組織構造に応じて、疎結合の方法を展開することを可能にします。
ラベルは、ユーザーにとって非常に意味のある、KVのペアですが、K8S自体に直接意義はありません。オブジェクトを作成する際にラベルを指定することができ、また、各オブジェクトは複数のラベルを持つことができ、後の段階で変更することができるが、キー値は一意である必要があります。
ラベルは自由に定義されたが、そのようなポッドのアプリケーション名とバージョン番号を設定するなど、読みやすさを提案することができます。またLableをより正確にラベル多次元リソースオブジェクトに設定されるべきリソースのターゲットを識別するために、一意ではありません。

nodePortすべてのポッドを使用することができ、nodePortを使用した場合、そのポートの多くを取る、それは非常に資源集約ではありません!ラベルは簡単に指定されたポッドを動作させるために、エイリアスとしてそれを置きます。

公開された382元の記事 ウォンの賞賛306 ・は 40000 +を見て

おすすめ

転載: blog.csdn.net/lixinkuan328/article/details/103993666