ダークKubernetesクラスタとマルチクラスタの管理


まず最初にタイトルで言及された「暗黒」を定義し始めましょう.これは、インターネットへのアクセスを最小限にする必要があるか、あるいはホームKubernetesクラスタである必要があるクラスタに関連する可能性があります.このポストで使用する例は、私のホームネットワークに展開されているK 3 Sクラスタになります.私はISPとの静的IPアドレスを持っていません、そして、私は他のものがコラボレーションのために私のクラスタに接続することができるようにしたいです、あるいは、我々は後でデータ管理のまわりで得ます.

何が問題ですか。


どのように、インターネット上で暗いサイトにアクセスしますか?
どのようにインターネット上でダークKubernetesクラスタにアクセスできますか?暗い展開またはA/Bテストと混同されないこと.
あなたは本当に完全にVPNの設定をしたい場所に置くか?
あなたが複数の開発者の間で協力しているならば、あなたはどこでもKubeconSigpingを共有したいですか?
そして、このポストを書くための私の懸念と理由は、どのようにKasten K 10 Multi - Cluster Accessがそのクラスタとデータにデータ管理を提供するために、ダークサイトKubernetesクラスタにアクセスするかについてまわりです?

どのようなインレットですか?



まず最初に、私は解決策を探しに行きました、私は人々が私の全ネットワークにVPNをすることができて、それから、私がローカルに持っているK 3 Dクラスタに着くようにVPNを実装することができました、これはアクセスを与えるためにoverkillと複雑な方法であるようです.それは必要以上に大きな開口部です.
とにかく、入場は「自営のトンネル、何かをつなぐのを可能にします.」
入口にもう一つの重要なプロは、それが開いているファイアウォールポートを交換して、VPNをセットアップして、IP範囲を管理して、ポート推進規則を追跡することであるということです.
私は、私のKubernetesクラスタ(6443)とKasten K 10展開(8080)のために安全な公的な終点を提供するサービスを提供する何かを探していました.
あなたはここでインレットについての詳細情報を見つけることができますhttps://inlets.dev/ 私も、このポストの後で道に沿って私を助けたいくつかの非常に良いブログ柱を共有するつもりです.

絵を描きましょう


我々はいくつかのパブリッククラウドクラスタを持っているが、我々はまた、おそらく私たちのラップトップまたは暗いサイト上でローカル実行しているいくつかの民間クラスタを持っている場合?私が最後のポストでCIVOを使用している例のために、私は私がどのようにこれらのクラスタを作成するためにUIとCLIを通ったかについて行きました、そして、彼らがそこにいたので、私はそれを利用したかったです.あなたが見ることができるように、ローカルのK 3 Dクラスタが私のネットワークの中でローカルに動いているのを見ることもできます.CIVOクラスタを使用すると、私たちのKubeconfigファイルを私たちの公開IPで利用できるようにしています.管理されたサービス提供は、あなたのクラスタにそのパブリックIPイングルを持つのが非常に簡単になります.

ローカルK 3 Dクラスター
あなたが私のネットワークにいなかったならば、あなたはインターネットから私のクラスタへのアクセスを持たないでしょう.いずれかのコラボレーションを停止するだけでなく、私はこのクラスタ内の私の誠実なワークロードを保護するためにKasten K 10を使用することができます停止します.

今この手順を変更する手順


これを取得し、実行する6ステップがあります.
  • devマシンをインストールしてexit serverを展開しますhttps://docs.inlets.dev/#/ – リモートサーバは「出口ノード」または「出口サーバ」と呼ばれ、プライベートネットワークからのトラフィックが発生するためです.ユーザのラップトップは“virtual alip”を得ており、インターネット上のユーザはIPを使って接続できるようになりました).
  • INTERSCTLを使用したディジタル海洋に展開されたインレットプロサーバー(私はデジタルオーシャンを使用しているが,他のオプションがある)https://docs.inlets.dev/#/?id=exit-servers )
  • インレットから得られるライセンスファイル.月、または年間購読
  • TCPポート( 643 )をエクスポートして、ローカルKubernetesクラスタ( LocalHost )の上流を定義します.
  • カール・ケーhttps://Inlets-ProServerPublicIPAddress:6443
  • インターネットからWebSocketを通してアクセスするKubeconfigを更新してください
  • 出口サーバーの配備


    私は、私のinletscliをよりインストールするためにArkadeを使用しましたhere . 最初の手順では、CLIを使用して終了サーバーを配備します.私は、私たちの出口サーバーとして行動するデジタル海の液滴を作成しました.以下のコマンドは、私のexitサーバを作成するために使用したものです.
    inletsctl create \
    --provider digitalocean \
    --access-token-file do-access-token.txt \
    --region lon1
    

    ポートとローカルの定義


    また、上記の画面から、ツールを使用すると、現在のデジタル海の中であなたのインレットプロ出口サーバーを設定するために実行する必要があるコマンドに便利なヒントを与えることができるショットを見ることができます.私たちは私たちのための私たちのポートを定義する必要があります643(Kubernetes API)と8080(Kasten K 10イングル)我々はまた、ローカルネットワーク上のIPアドレスを定義する必要があります.
    export TCP\_PORTS="6443,8080" - Kubernetes API Server
    export UPSTREAM="localhost" - My local network address for ease localhost works.
    
    inlets-pro tcp client --url "wss://209.97.177.194:8123" \
     --token "S8Qdc8j5PxoMZ9GVajqzbDxsCn8maxfAaonKv4DuraUt27koXIgM0bnpnUMwQl6t" \
     --upstream $UPSTREAM \
     --ports $TCP\_PORTS \
     --license "$LICENSE"
    
    イメージノート-私は戻って、エクスポートTcpLesポートを追加する必要があります

    安全なWebSocketが確立されました


    上記のコマンドを実行すると、次のように設定されます.

    Curlでのアクセス確認


    我々はKubernetes APIを使用しているので、我々はカールを介して完全に承認された経験を期待していないが、それはあなたが次のコマンドで外部接続を持っていることを示しています.
    curl -k https://178.128.38.160:6443
    

    Kubeconfigの公開IPによる更新


    私たちは既に私たちのローカルK 3 D展開のためにKubeconfigを持っていました.あなたがAPIポートを643と提案しないならば、我々が我々がこの段階でしたすべてを歪ませる若干の高いランダムなポートが使われます.
    k3d cluster create darksite --api-port 0.0.0.0:6443
    
    とにかく、Kubeconfigファイルを更新するために、同じホストの中でローカルにアクセスのために現在、現在、あなたは、以下を持っています.

    終了サーバのパブリックフェイシングIPでその変更を行う

    その後、ローカルには、まだアクセスしていることを確認することができますて

    インレット構成の概観


    今、私たちは安全なWebSocketを構成しています、そして、我々は我々の隠れているか暗いKubernetesクラスタへの外部へのアクセスを持っています.

    この段階でKubeconfigファイルを共有することができ、プライベートネットワーク内でのK 3 Dクラスタへのアクセスを共有できます.
    私はここでこのポストを終えるつもりです、そして、次に、次のポストは私がそれから私が私の2つのCivoクラスタと私のK 3 Dクラスタを管理することができる今、私が私の2つのCivoクラスタと私のK 3 Dクラスタを管理することができるようにするために、私が、その安全なWebSocketを提供するために入口を使用しているデータ管理の展望を構成します.