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