本番環境では、ユーザーが常にアクセスランチャーサーバーを持っていることを保証するために、高可用性構成のランチャーをインストールする必要があります。クラスタKubernetesにインストールすると、ランチャーetcdは、スケジューリングKubernetes高可用性を使用して、クラスタに統合されます。
高可用性を確保するためには、Kubernetesクラスタがランチャーを実行専用される展開し、ランチャーが起動して実行した後、あなたは、特定のワークロードを実行するには、クラスターを作成またはインポートすることができます。
推奨アーキテクチャ
- ランチャーは、レイヤ4(TCP)ロードバランシングにDNSを解決する必要があります。
- 負荷分散は、3つのすべてのクラスタノードにポートTCP / 80およびTCP / 443 Kubernetes転送しなければなりません。
- HTTPSおよびTCP / 443 / TLS(ここではSSLデジタル証明書の展開)のSSL終端ポートにHTTPをリダイレクトするイングレス・コントローラ。
- イングレス・コントローラは、TCP / 80ポートのポッドにトラフィックを転送します。
以下は、より直感的な絵の上に公式サイトからのプルは、あります。
第二に、仕事の準備
1.サーバーの準備
- 1台のLinuxサーバは、4つの負荷分散のために高い設定していません
- 3台のLinuxサーバー、Ranckerサーバ・ノードのノード
- N Linuxサーバ、Ranckerエージェントノードノード(N <= 50)
ハードウェアコンフィギュレーション・サーバ・ノードは、実際の状況に応じて表に従って選択することができます。
スケール | クラスタ | ノード | CPU | メモリ |
---|---|---|---|---|
小さな | 最大5 | 最大50 | 2 | 8ギガバイト |
で | 最大15 | 最大200 | 4 | 16ギガバイト |
すばらしいです | 最大50 | 最大500 | 8 | 32ギガバイト |
特大 | 最大100 | 1000年まで | 32 | 128ギガバイト |
大きな | 100+ | 1000 + | 連絡先ランチャー | 連絡先ランチャー |
2.インストールツール
これらのツールは、展開プロセスで使用される事前にインストールすると、あなたは$ PATH変数で見つけることができることを確認してください。
インストールkubectl
これは、kubernetesコマンドラインツールです参照インストール 公式サイトK8Sを
ここでは、インストールプロセスの公式ウェブサイトは、私がRANCHER提供ダウンロードリンク用ドアミラーアドレスを変更し、Googleのクラウドプラットフォームを、ダウンロードしていることに注意しなければなりません。
インストールRKE
RKEは、ランチャーKubernetesエンジンスタンドkubernetsクラスタのためのコマンドラインツールを構築することです。ネットワーク上の理由から、私たちはランチャーをダウンロードしてインストールする設けられたミラーアドレスに切り替え
インストールヘルム
舵はKubernetesパッケージマネージャです。それよりも高くするヘルムバージョン v2.12.1
。
第三に、ノードと負荷分散を作成します
これらのネットワークノードは、同じ領域又はデータセンタ内になければなりません。
1.ノードは準備ができています
オペレーティングシステム
すべてのノードがインストールのUbuntu 18.04(64ビットx86)
ネットワーク要件
に基づい注意 公式ウェブサイトは、関連するポートをリリースしました。この記事のIPリスト(デモンストレーション用のみ):
ノード | IP | リマーク |
---|---|---|
NODE-LB | 公共168.168.168.1 /ネットワーク10.0.0.1 | 四つのロードバランシング |
NODE-SERVER | 公共168.168.168.6 /ネットワーク10.0.0.6 | ローカルクラスタ |
NODE-SERVER | 公共168.168.168.7 /ネットワーク10.0.0.7 | ローカルクラスタ |
NODE-SERVER | 公共168.168.168.8 /ネットワーク10.0.0.8 | ローカルクラスタ |
NODE-WORKER | 公共168.168.168.16 /ネットワーク10.0.0.16 | ワークロード |
NODE-WORKER | 公共168.168.168.17 /ネットワーク10.0.0.17 | ワークロード |
NODE-WORKER | 公共168.168.168.18 /ネットワーク10.0.0.18 | ワークロード |
ドッキングウィンドウ、この
18.09.6:とドッキングウィンドウ-CEの最新の安定版をインストールします
4のロードバランシングの設定
各ノードでRKEイングレス・コントローラーポッドを設定します、ポッドは、ランチャー・サーバーのHTTPSトラフィックのエントリポイントとして、ノードのTCP / 80およびTCP / 443ポートにバインドします。
ロード・バランサは、ここで使用さnginxの4つの荷重バランスとして、TCPトランスポンダの実質的に第四層に構成されています。
* nginxのをインストールします。
更新配置文件 /etc/nginx/nginx.conf
四、使用 RKE 安装 kubernetes
下面使用 RKE(Kubernetes Engine) 安装高可用的 Kubernetes。
1. NODE-SERVER 之间建立 ssh 信任
我们目前有三台服务器用作 local 集群,首先要确保我们主机能够通过 ssh 访问到另外两台主机并执行相关操作。比如执行 docker 命令,还记得前面我们加入 docker 用户组的用户吧。
2. 编写 rancher-cluster.yml 文件
这里需要注意,这个文件没有明确配置rsa文件名,默认会使用 $HOME/.ssh/id_rsa
建立连接。内容如下
3. 运行 RKE 构建 kubernetes 集群
执行成功会在当前目录生成一个文件 kube_config_rancher-cluster.yml
,将该文件复制到 .kube/kube_config_rancher-cluster.yml
。
或者
4. 测试集群
5. 保存好相关配置文件
当排除故障、升级群集时需要用到以下文件,请将其副本保存在一个安全的位置。
rancher-cluster.yml
:RKE集群配置文件。kube_config_rancher-cluster.yml
:群集的Kubeconfig文件,此文件包含完全访问群集的凭据。rancher-cluster.rkestate
:Kubernetes群集状态文件,此文件包含完全访问群集的凭据。
6. 初始化 Helm
一开始,我们安装了 Helm ,Helm 是 Kubernetes 首选的包管理工具。为了能够使用 Helm,需要在群集上安装服务器端组件 tiller。
Kubernetes APIServer 开启了 RBAC 访问控制,所以需要创建 tiller 使用的service account: tiller 并分配合适的角色给它。
7. 测试 tiller 安装是否成功
五、安装 Rancher
这里注意选择 stable 版本,首先添加 heml 源仓库。
1. 部署 Rancher 并配置 SSL 数字证书
2. 将通过 CA 机构签发的数字证书准备好,
3. 检查 rancher 是否成功可用
4.アクセスランチャーUI
ブラウザが開く https://your.doamin
ために、 admin
初期パスワードアカウントを設定して、システムにログインします。ヒント設定はserver-url
、確認するために、あなたのアドレスが正しいことを確認してください。システムの初期化が完了するまで、その後、一瞬のために皮膚を待ちます。
ローカルクラスタが待機状態で立ち往生し、プロンプトされた場合 Waiting for server-url setting to be set
、あなたは世界をクリックしてみてくださいすることができます- > [ローカルから>アップグレード- >役割(管理者/ ClusterOwner)のメンバーを追加- >保存してください。
VI結論
これまでのところ、HAはなしセキュリティリスクことを、あなたがサービスを提供し始めることができることを確認するための設定をチェックし、いくつかのセキュリティ強化を行うためのフォローアップをインストールランチャー2.2.2を完了しました。そして、記事にマイクロサービスアーキテクチャのアプリケーションを展開するための簡単な紹介を書く時間を見つけます。