Kubernetes

Kubernetes接続タイプの詳細設定

Keeper Connection Managerでは、kcm-libguac-client-kubernetesパッケージによって、Kubernetesコンテナのコンソールへの接続がサポートされています。Kubernetesのサポートは、@kcmパッケージグループによってインストールされるのではなく、 keeper/guacdのDockerイメージ内にインストールされます。このパッケージがまだインストールされていない場合、Kubernetes接続は機能せず、必要なプロトコルがサポートされていないことを示す警告がguacdのログに記録されます。

guacd[8]:WARNING:Support for protocol "kubernetes" is not installed

このようなエラーがguacdのログに表示される場合は、kcm-libguac-client-kubernetesをインストールするだけでこの問題を解決するには十分です。

$ sudo yum install kcm-libguac-client-kubernetes

guacdサービスは、Kubernetesサポートのインストールを有効にするために再起動する必要はありません。

概要

KeeperのKubernetesサポートは、GuacamoleがKubernetesのREST APIを使用して、Kubernetesコンテナのコンソールに接続できるようにするというプロトコル実装の形をとっています。SSHやtelnetと同様に、GuacamoleのKubernetesサポートは、Guacamoleクライアントのディスプレイに表示するサーバー側の端末をエミュレートします。

Kubernetesコンテナへの接続のサポートの管理には、複数のパラメータを使用します。MySQLPostgreSQLなどのデータベースを使用する場合、これらのパラメータは使いやすいWebインターフェースで表示されます。暗号化されたJSONLDAPスキーマの変更など、別のメカニズムを使用して接続を定義する場合、パラメータは内部パラメータ名を使用して指定します。

このドキュメントは、Webインターフェース内と同じ方法でグループ化された、サポート対象パラメータを網羅することを目指しています。Webインターフェースに表示されるフィールド見出しは、パラメータごとに表示され、各パラメータの内部名、およびそのパラメータの動作の詳細な説明と適正値も一緒に表示されます。

Keeper Secrets Managerのパラメータ

フィールド見出しパラメータ名説明

ユーザー提供のKSM設定を許可:

ksm-user-config-enabled

「true」に設定すると、Keeper Connection Managerの各ユーザープロファイルを任意の接続のKeeper Secrets Manager設定に割り当てることができます。詳細は、複数ボルトの連携画面をご参照ください。

ネットワークパラメータ

コンテナに接続するためにKubernetesサーバーに接続するには、そのサーバーとWebSocket接続を確立する必要があり、サーバーのホスト名またはIPアドレスが必要です。Kubernetesサーバーによっては、接続にSSL/TLSが必要な場合もあります。

フィールド見出し(Webインターフェース)パラメータ名説明

ホスト名:

hostname

**必須:**Guacamoleが接続するKubernetesサーバーのホスト名またはIPアドレス。

ポート:

port

Kubernetesサーバーの待ち受けポート。デフォルトでは、ポート8080が使用されます。

SSL/TLSの使用:

use-ssl

「true」に設定すると、SSL/TLSを使用してKubernetesサーバーに接続します。デフォルトでは、SSL/TLSは使用しません。

サーバー証明書を無視:

ignore-cert

「true」に設定すると、検証できない場合、Kubernetesサーバーが使用するSSL/TLS証明書の有効性は無視されます。デフォルトでは、SSL/TLS証明書は検証されます。

認証局証明書:

ca-cert

Kubernetesサーバーの証明書に署名した認証局の証明書(PEM形式)。省略した場合、Kubernetesサーバー証明書の検証にはシステム全体の認証局のみが使用されます。

コンテナパラメータ

本来、特定のKubernetesコンテナに接続するには、当該コンテナを含むポッドの名前が必要になります。デフォルトでは、Guacamoleはポッド内の最初のコンテナに接続します。ポッド内にコンテナが複数ある場合は、コンテナ名を指定してください。

フィールド見出し(Webインターフェース)パラメータ名説明

名前空間:

namespace

接続先のコンテナを含むポッドのKubernetes名前空間の名前。省略した場合、名前空間「default」が使用されます。

ポッド名:

pod

**必須:**接続先のコンテナを含むKubernetesポッドの名前。

コンテナ名:

container

接続先のコンテナの名前。省略した場合、ポッド内の最初のコンテナが使用されます。

認証パラメータ

有効にすると、Kubernetesは暗号化と認証の両方にSSL/TLSを使用します。標準のSSL/TLSクライアント認証には、クライアント証明書とクライアント鍵の両方が必要であり、Guacamoleはこれらを使用してKubernetesサーバーに対して自身を識別します。

フィールド見出し(Webインターフェース)パラメータ名説明

クライアント証明書:

client-cert

SSL/TLSクライアント認証を実行して、Kubernetesサーバーで認証する場合に使用する証明書(PEM形式)。省略した場合、SSLクライアント認証は実行されません。

クライアント鍵:

client-key

SSL/TLSクライアント認証を実行してKubernetesサーバーで認証する場合に使用する鍵(PEM形式)。省略した場合、SSLクライアント認証は実行されません。

ディスプレイ設定

GuacamoleのKubernetesサポートはディスプレイを転送しますが、VNCやRDPのようなリモートデスクトッププロトコルと同じ感覚ではありません。ディスプレイはターミナルエミュレータであるため、使用するフォントとそのサイズを設定するためのオプションが用意されています。

Kubernetes接続で別のフォントを選択する場合は、選択したフォントがguacdを実行しているサーバーにインストールされている必要があります。端末のディスプレイへの文字のレンダリングを処理するのは、クライアントではなく_サーバー_です。

フィールド見出し(Webインターフェース)パラメータ名説明

カラースキーム:

color-scheme

Kubernetes接続で使用されるターミナルエミュレータに使用するカラースキーム。各カラースキームによって、端末のデフォルトの前景色と背景色が決まります。テキストを表示するときに色を指定するプログラムは、これらの既定値を上書きします。適正値は以下のとおりです。

  • black-white」- 白地に黒色のテキスト

  • [gray-black」- 黒地に灰色のテキスト(デフォルト)

  • green-black」- 黒地に緑色のテキスト

  • white-black」- 黒地に白色のテキスト

  • カスタムカラースキーム(後述)

デフォルトでは、Guacamoleは黒地に灰色でテキストをレンダリングします。

フォント名:

font-name

使用するフォントの名前。指定しない場合は、デフォルトの「monospace」が代わりに使用されます。**これは、guacdを実行しているサーバーにインストールされているフォントの名前であることが必要で、等幅フォントでなければなりません。**等幅フォント以外を使用すると、個々のグリフが正しく表示されないことがあります。

フォントサイズ:

font-size

使用するフォントのサイズ(ポイント単位)。既定では、レンダリングされるテキストのサイズは12ポイントになります。

最大スクロールバックサイズ:

scrollback

ターミナルスクロールバックバッファ内で許容される最大行数。デフォルトでは、スクロールバックバッファは最大1000行に制限されます。

読み取り専用:

read-only

この接続を読み取り専用にするか否か。「true」に設定すると、接続で入力が一切できなくなります。ユーザーは端末(または端末内で実行されているアプリケーション)を表示することはできますが、操作はできません。

カスタムカラースキーム

Kubernetes接続で使用されるターミナルエミュレータにカスタムカラースキームが付属する場合があります。カスタムスキームは、Xtermとよく似た形式で、セミコロンで区切られた一連の名前と値のペアで構成されます。名前と値のペアはそれぞれコロンで区切られ、ターミナルエミュレータパレットの色に値を割り当てます。

たとえば、デフォルトで白地に青色のテキストを使用し、赤色を紫の色調に変更するには、以下のように指定してください。

foreground: rgb:00/00/ff;
background: rgb:ff/ff/ff;
color9: rgb:80/00/80

正規の色名は以下のとおりです。

  • foreground」- デフォルトの前景色。

  • background」- デフォルトの背景色。

  • colorN」- Xterm 256色パレット内のインデックスNの色。たとえば、「color9」はパレットインデックス9の色を指し、通常は赤です。

正規の色の値は以下のとおりです。

  • 「rgb:RR/GG/BB」- RGB形式の色で、各部は16進数で表されます。たとえば、「rgb:ff/00/00」は赤色を指定します。16進数の各部は1桁から4桁までですが、有効値は常にゼロ拡張または2桁に切り捨てられます。たとえば、「rgb:f/8/0」、「rgb:f0/80/00」、「rgb:f0f/808/00f」はすべて同じ有効色を指します。

  • colorN」-Xterm 256色パレット内のインデックスNに現在割り当てられている色。たとえば、「color9」は、パレットインデックス9に現在割り当てられている色を指定します。その色への参照ではなく、_現在の色の値_が使用されることにご注意ください。カラースキームの設定で後から参照色を変更しても、その新しい色の値はこの割り当てに反映されません。

  • NAME」- 人間が判読できる名前「NAME」の付いた色で、「NAME」はX11でサポートされている標準色名の1つです。これらの名前は、一般にW3CがCSS用に標準化した名前に対応しています。

端末の動作パラメータ

ほとんどの場合、Guacamoleターミナルエミュレータのデフォルトの動作は変更せずに使用できます。ただし、特定のシステムに接続する場合は、正常に動作するように端末の動作の調整が必要な場合があります。GuacamoleのKubernetesサポートは、バックスペースに送信される制御コードを制御するためのパラメータを備えています。

フィールド見出し(Webインターフェース)パラメータ名説明

Backspaceキー送信:

backspace

バックスペースが押されたときに送信される端末制御コードの整数値。ほとんどの場合、これを調整する必要はないはずです。ただし、バックスペースキーを押したときに、テキストが消去されるのではなく制御文字(通常、^?または^H)が表示される場合は、このパラメータの調整が必要と考えられます。デフォルトでは、制御コード127(削除)が送信されます。

テキストセッションの記録(タイプスクリプト)

計時情報を含む、Kubernetesセッションの生の完全なテキストコンテンツを指定されたディレクトリに自動的に記録できます。この記録は、「タイプスクリプト」とも呼ばれ、指定されたディレクトリ内の2つのファイルに書き込まれます。1つのファイルには生のテキストデータが含まれ、もう1つのファイルには計時情報が含まれます。タイプスクリプト名に付けられた値が「NAME」の場合、これらのファイル名はそれぞれ「NAME」と「NAME.timing」となります。

この形式は、UNIXの標準scriptコマンドで使用される形式と互換性があり、scriptreplay(インストールされている場合)を使用して再生できます。たとえば、「NAME」というタイプスクリプトを再生するには、以下のように実行してください。

$ scriptreplay NAME.timing NAME
フィールド見出し(Webインターフェース)パラメータ名説明

タイプスクリプトのパス:

typescript-path

タイプスクリプトファイルを作成するディレクトリ。**タイプスクリプトを記録する必要がある場合は、このパラメータが必要です。**このパラメータを指定すると、タイプスクリプトの記録が有効になります。このパラメータを省略すると、タイプスクリプトは記録されません。

タイプスクリプト名:

typescript-name

作成されたすべての記録に使用する基本ファイル名。省略すると、基本ファイル名「typescript」が使用されます。

Guacamoleは既存のタイプスクリプトを上書きしません。必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスを基本ファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、タイプスクリプトは記録されず、エラーがログに記録されます。

このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。

タイプスクリプトのパスを自動作成:

create-typescript-path

「true」に設定すると、指定したタイプスクリプトのパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、タイプスクリプトのパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、タイプスクリプトは記録されず、エラーがログに記録されます。

自動的に作成されるのは、パス内の末尾のディレクトリのみです。パスの末尾以外の先頭の方のディレクトリが存在しない場合、タイプスクリプトは記録されず、エラーがログに記録されます。

このパラメータは、タイプスクリプトの記録が有効になっている場合にのみ機能し、タイプスクリプトのパスを指定することで制御できます。タイプスクリプトのパスが指定されていない場合、タイプスクリプトの記録は有効にならず、このパラメータは無視されます。

画面記録パラメータ

Kubernetesのセッションは画像で記録できます。これらの記録は、Guacamoleプロトコルのダンプ形式を取り、指定したディレクトリに自動的に記録されます。その後、player.glyptodon.comでホストされているGlyptodon Enterprise Session Recording Playerアプリケーションを使用して(またはこのアプリケーションのローカルデプロイを使用して)、記録を再生できます。

このプレーヤーは静的なウェブアプリケーションであり、作成された記録の再生にはJavaScriptのみを使用します。この機能は厳密にローカルで実行され、記録がリモートサービスにアップロードされて処理されることはありません。このアプリケーションの独自のデプロイを使用したい場合、またはソースコードを調査したい場合は、Glyptodon Enterprise Session Recording Playerの完全なソースコードとローカルデプロイの手順が次のGitHubにあります。https://github.com/glyptodon/glyptodon-enterprise-player

Keeper Connection Managerの最新バージョンでは、記録されたセッションの画面上での再生がサポートされています。 セッション記録のドキュメントページをご参照ください。

フィールド見出し(Webインターフェース)パラメータ名説明

記録のパス:

recording-path

画面記録ファイルを作成するディレクトリ。**画像記録の作成が必要な場合は、このパラメータが必要です。**このパラメータを指定すると、画像による画面記録が有効になります。このパラメータを省略した場合、画像記録は作成されません。

記録名:

recording-name

作成されたすべての記録に使用するファイル名。省略した場合、各記録のファイル名は単に「recording」となります。

Guacamoleは既存の記録を上書きしません。必要に応じて、「.1」、「.2」、「.3」などの数字のサフィックスをファイル名に付加して、既存の記録が上書きされないようにします。数字のサフィックスを付加しても区別できない場合は、セッションは記録されず、エラーがログに記録されます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

画像/ストリームを除外:

recording-exclude-output

「true」に設定すると、通常サーバーからクライアントにストリーミングされる画像出力やその他のデータが記録から除外され、ユーザー入力イベントのみを含む記録が生成されます。デフォルトでは、画像出力は記録に含まれます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

マウスを除外:

recording-exclude-mouse

「true」に設定すると、ユーザーのマウスイベントが記録から除外され、マウスカーソルが表示されない記録が作成されます。デフォルトでは、マウスイベントは記録に含まれます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

キーイベントを記録:

recording-include-keys

「true」に設定すると、ユーザーキーイベントが記録に含まれます。その後、記録をguaclog ユーティリティに渡して、セッション中に押されたキーを人間が判読できるように変換できます。デフォルトでは、プライバシー保護のため、キーイベントは記録に含まれ「ません」。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

記録のパスを自動作成:

create-recording-path

「true」に設定すると、指定した記録のパスの末尾のディレクトリがまだ存在しない場合、自動的に作成されます。デフォルトでは、記録のパスの一部が自動的に作成されることはなく、存在しないディレクトリを使用しようとすると、セッションは記録されず、エラーがログに記録されます。

自動的に作成されるのは、パス内の末尾のディレクトリのみです。パスの末尾以外の先頭の方のディレクトリが存在しない場合、セッションは記録されず、エラーがログに記録されます。

このパラメータは、画像の記録が有効になっている場合にのみ機能し、記録のパスを指定することで制御できます。記録のパスが指定されていない場合、セッションの画像による記録は有効にならず、このパラメータは無視されます。

Last updated