サービスのK8S

 K8S 3つのネットワーク:ノードネットワーク

ポッドネットワーク

クラスタネットワーク- >仮想IP - > サービスのルール

 

 

サービス:KUBE-プロキシモニタAPIサーバー、APIサーバのデータの変更は、対応するKUBE-プロキシが変更され、サービスのルールを

サービスは、3つの動作モードを持っている:ユーザ空間、1.1 以前のバージョンを

                                     iptablesの、1.10 の前に

                                     IPVS 1.11 リリース後

 

SVCのRedisのを削除kubectl

                    サービスのサービス

 

 

サービスを説明kubectl

service.specを説明kubectl

 

 

サービスの種類

ExternalName、  クラスタへのクラスタ参照外部のサービス 外部サービス名

CLUSTERIP、  唯一のクラスタ内通信のための

NodePort、  外部のクラスタとの通信用

ロードバランサ、仮想マシンに展開し環境で動作する仮想マシンクラウド環境は、ロードバランシングをサポートし、lbaas、同様のnodeportの負荷分散

 

 

作成された文書のリストサービスを

CLUSTERIP、  唯一のクラスタ内通信のための  アクセスサービス最初のポイントCLUSTERIP、指しポッドIP

service.spec.portsを説明kubectl

VimのRedisの-svc.yaml

apiVersion:V1

種類:サービス

メタデータ:

  名前:Redisのサービス

  名前空間:デフォルト

スペック:

  選択:   選択されたポッドタグ 関連ポッド

    アプリ:Redisの 

    役割:ロイスター

  CLUSTERIP:10.97.97.97  セット CLUSTERIP

  タイプ:CLUSTERIP  選択 CLUSTERIPのタイプのサービス

  ポート:

  -ポート:6379サービスのポート参照サービスポートバックエンドでのポッドの関係

    targetPort:6379   指定されたポッドポート

 

-fのRedis-svc.yamlが適用kubectl  作成サービスを

SVCの取得kubectl  照会サービスを

SVCのRedisのサービス-Redisの説明kubectl 詳細

エンドポイント:10.244.1.66:6379   バックエンドアドレス、関連付けられているポッドアドレス

 

 

リソースレコード: SVC_NAMe.NS_NAME.DOMAIN.LTD。

          サービス名の  名前空間の    クラスタドメイン名サフィックス

 

 

       クラスタのデフォルトのドメイン名サフィックス  svc.cluster.local。

      たとえば:ちょうど作成サービスと呼ばれるのRedis、   その後、ドメイン名を

           redis.default.svc.cluster.local。

 

       サービスにアクセスするためのドメイン名への直接アクセス、および解決するためのポッドアドレス

 

nodeportのデフォルトのポート割り当て30000から32797

作成 nodeport サービス

先に引用した展開コントローラmyappの-デプロイの作成ポッドを

CPのREDI-svc.yaml myappの-svc.yaml

Vimのmyappの-svc.yaml

apiVersion:V1

種類:サービス

メタデータ:サービスの属性

  名前:myappに

  名前空間:デフォルト

スペック:

  セレクタ:

    アプリ:myappに  関連付けられたポッド

    リリース:カナリア

  CLUSTERIP:10.99.99.99  指定 CLUSTERIP

  タイプ:NodePort   指定されたサービスのタイプ

  ポート:

  -ポート:80サービスポート

   targetPort:80  関連するポッドポート

   nodePort:30080   外部アクセスノードポート

 

  

-f myappという-svc.yamlを作成kubectl   作成サービスを

kubectl GET SVC

80:30080 / TCP

サービスポート80   マッピング   ノードのポート30080

テスト

外側のノードへのアクセス よう 192.168.81.10:30080

真しばらく; カールhttp://192.168.81.30:30080/;sleep 1を行い、行われ

 

 

ExternalName

クラスタ内のポッドリソースにアクセスするには、クラスタ外の、

svc.spec.externalNameを説明kubectl

 

 

sessionAffinity

svc.specを説明kubectl

 sessionAffinity <文字列>   セッション維持 IP と同じIPの要求が常に同じバックエンドに送信されたポッド

kubectlパッチSVCのMyApp -p '{ "スペック":{ "sessionAffinity": "たClientIP"}}'

 

MYAPP SVCを記述kubectl  追加するかどうかを確認 sessionAffinityを

 

kubectlパッチSVC myappの-p「{ 『 スペック』:{ 『sessionAffinity』: 『なし』}}」 背中になし、それは常にに送信されませんポッド

 

 

ヘッドレス   ヘッドレスサービスのヘッドレスサービスのサービスに直接ポッドIP

CP-svc.yaml myappのmyappの-headless.yaml

Vimのmyappの-headless.yaml

apiVersion:V1

種類:サービス

メタデータ:

  名前:myappの-SVC

  名前空間:デフォルト

スペック:

  セレクタ:

    アプリ:myappに

    リリース:カナリア

  CLUSTERIP:なし

  ポート:

  - ポート:80

targetPort:80

 

 -f myappという-headless.yamlを適用kubectl

kubectl GET SVC

 

インストールのdig コマンドのyum-utilsのバインドをインストール-y

クエリ coreDns

kubectl GET SVC -n KUBE-システム

分析サービス

    myappという-svc.default.svc.cluster.localを-t掘ります。@ 10.96.0.10

                    @ドメイン名サービス指定coredns

バックエンドの分析結果ポッドIP

        

 

前回のためのサービスタイプCLUSTERIP

myapp.default.svc.cluster.localを-t掘ります。@ 10.96.0.10

分析結果 CLUSTER-IP

おすすめ

転載: www.cnblogs.com/leiwenbin627/p/11300746.html