GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でOpenshiftOriginをセットアップする方法

OpenShift Originは、RedHatのコンテナーアプリケーションプラットフォームであるOpenShiftを強化するオープンソースのアップストリームプロジェクトです。 Python、PHP、Perl、Node.js、Ruby、およびJavaのサポートを提供し、ユーザーが他の言語のサポートを追加できるように拡張可能です。アプリケーションに割り当てられたリソースは、必要に応じて自動または手動でスケーリングできるため、需要が増加してもパフォーマンスが低下することはありません。 OpenShiftは、DeltaCloud APIを介して移植性を提供するため、お客様はデプロイメントを他のクラウドコンピューティングベンダー環境に移行できます。 OpenShiftは、DockerとKubernetesを活用して提供され、カスタムの再利用可能なアプリケーションイメージを使用できるようにします。 OpenShiftは、高可用性でスケーラブルなアプリケーションプラットフォームになるように設計されています。適切に構成されている場合、大規模なOpenShiftデプロイメントは、ダウンタイムをゼロにしながら、需要が増加したときにアプリケーションをスケーリングする簡単な方法を提供できます。複数のデータセンターの場所にあるOpenShiftホストのクラスターを使用すると、データセンター全体がダウンしても生き残ることができます。

この記事では、最小限のパッケージがインストールされたスタンドアロンのCentOS7サーバーへのインストールと構成を紹介します。

前提条件

外部etcdを備えた高可用性OpenShiftOriginクラスターでは、マスターホストに1つのCPUコアが必要であり、1000ポッドごとに1.5GBのメモリが必要です。したがって、2000ポッドのOpenShift Originクラスターでのマスターホストの推奨サイズは、2CPUコアと16GB RAMのマスターホストの最小要件に加えて、2CPUコアと3GBのRAMになります。

>

OpenShift Originには、環境内に完全に機能するDNSサーバーが必要です。これは、理想的にはDNSソフトウェアを実行している別個のホストであり、プラットフォームで実行されているホストとコンテナーに名前解決を提供できます。ホストを解決するためにDNSを設定し、VM上のドメインでFQDNを設定しましょう。

OpenShift Originをインストールする前にすべてのサーバーでSecurity-EnhancedLinux(SELinux)を有効にする必要があるため、「/ etc / selinux/config」ファイルでSELINUXTYPE=targetedを設定します。有効にしないとインストールが失敗します。

# vi /etc/selinux/config

次のコマンドを使用して、システムを最新のアップデートとセキュリティパッチでアップデートしてください。

# yum update -y

Dockerのインストール

OpenShiftをインストールするには、curl-to-shell、ポータブルインストーラー、またはソースからのインストールの3つのオプションがあります。この記事では、Dockerを使用してソースからOpenShiftOriginをインストールします。

以下のコマンドを実行して、Dockerを、「vim」エディターや「wget」ユーティリティ(システムにまだインストールされていない場合)など、このセットアップを実行するために必要な他の依存関係とともにインストールします。

# yum install docker wget vim -y

インストールが完了したら、コマンドラインエディターで「/ etc / sysconfig / docker」ファイルを開いて、OpenShiftイメージに使用するレジストリーを信頼するように設定する必要があります。

# vim /etc/sysconfig/docker
# INSECURE_REGISTRY='--insecure-registry'
NSECURE_REGISTRY='--insecure-registry 192.168.0.0/16'

構成ファイルを保存して閉じ、以下のコマンドを使用してDockerサービスを再起動します。

# systemctl restart docker.service

Openshiftのインストールと設定

Dockerサービスを稼働させたら、systemdが管理するスタンドアロンプ​​ロセスとして実行するようにOpenShiftをセットアップします。以下のコマンドを実行して、GitHubの「/tm​​p」ディレクトリからOpenShiftバイナリーをダウンロードしましょう。

# cd /tmp
# wget https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz

次に、パッケージを抽出し、ディレクトリを抽出したフォルダに変更して、すべてのバイナリファイルを「/ usr / local/sbin」ディレクトリに移動します。

# tar -zxf openshift-origin-server-*.tar.gz
# cd openshift-origin-server-v1.4.1+3f9807a-linux-64bit/
# mv k* o* /usr/local/sbin/

次に、パブリックIPアドレスとプライベートIPアドレスを配置して、スタートアップスクリプトとsystemdユニットファイルを作成します。

# vim /usr/local/bin/start_openshift.sh
#!/bin/bash
cd /opt/openshift/
openshift start --public-master='https://:8443' --master='https://:8443'

ファイルを保存して閉じ、systemdで新しく作成したファイルに次の内容を入れます。

# vim /etc/systemd/system/openshift.service
[Unit]
Description=OpenShift Origin Server

[Service]
Type=simple
ExecStart=/usr/local/bin/start_openshift.sh

これで、ファイルを保存し、このファイルのアクセス許可を変更して実行可能にし、新しいユニットファイルをロードして機能できるようにします。

# chmod u+x /usr/local/bin/start_openshift.sh
# mkdir /opt/openshift/
# systemctl daemon-reload

デーモンをリロードした後、以下のコマンドを使用してOpenshiftサービスを開始し、そのステータスがアクティブかどうかを確認します。

# systemctl start openshift
# systemctl status openshift

これでOpenshiftサービスが稼働し、OpenShiftのインストールをリモートで管理し、そのアプリケーションにアクセスするには、ファイアウォールでTCPポート80、443、および8443を開く必要があります。

# firewall-cmd --zone=public --add-port=80/tcp
# firewall-cmd --zone=public --add-port=443/tcp
# firewall-cmd --zone=public --add-port=8443/tcp

Openshiftルーターとレジストリーの追加

次に、OpenShiftルーターをインストールして、パブリックIPアドレスを介してアプリを提供できるようにする必要があります。 OpenShiftはDockerレジストリーを使用してDockerイメージを保存し、アプリケーションのライフサイクルをより簡単に管理します。ルーターは、ドメイン名に基づいてリクエストを特定のアプリにルーティングします。そのため、最初に、新しいOpenShiftクラスターを認証するために、設定とCA証明書がどこにあるかをCLIツールに通知する必要があります。

次の行を「/root/.bashrc」に追加して、rootユーザーに切り替えたときに読み込まれるようにします。

# export KUBECONFIG=/opt/openshift/openshift.local.config/master/admin.kubeconfig
# export CURL_CA_BUNDLE=/opt/openshift/openshift.local.config/master/ca.crt

'.bashrc'をリロードして設定を更新します。

# source /root/.bashrc

次に、以下のコマンドを使用してクラスターにログインします。

# oc login -u system:admin
Logged into "https://YOUR_SERVER_IP:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

* default
kube-system
openshift
openshift-infra

Using project "default".

ルーターが正常に追加されました。レジストリを追加するには、次のコマンドを使用します。

# oadm policy add-scc-to-user hostnetwork -z router
# oadm router
info: password for stats user admin has been set to s0iOOpIcnW
--> Creating router router ...
serviceaccount "router" created
clusterrolebinding "router-router-role" created
deploymentconfig "router" created
service "router" created
--> Success
# oadm registry
--> Creating registry registry ...
serviceaccount "registry" created
clusterrolebinding "registry-registry-role" created
deploymentconfig "docker-registry" created
service "docker-registry" created
--> Success

OpenshiftOriginへのアクセス

これでOpenShiftのインストールが完了しました。 Webブラウザーで次のURLにアクセスすると、OpenShiftデプロイメントをテストできます。

https://your_servers_ip:8443

OpenShiftログイン画面が表示されます。デフォルトでは、OpenShiftを使用すると、ユーザー名とパスワードの任意の組み合わせでログインでき、アカウントが自動的に作成されます。その後、プロジェクトやアプリを作成するためのアクセス権があります。図のように、ユーザー名「ks」でアカウントを作成します。

Openshiftでの新しいプロジェクトの作成

正常にログインすると、新しいプロジェクトを作成するように求められます。プロジェクトには、関連する1つ以上のアプリが含まれています。最初のアプリをデプロイできるように、テストプロジェクトを作成しましょう。

次に、新しいプロジェクトに表示名と簡単な説明を付けて名前を付けます。

新しいプロジェクトを作成した後、次に表示される画面は「プロジェクトに追加」画面です。この画面で、アプリケーションイメージをOpenShiftに追加して、デプロイの準備を整えることができます。この場合、[イメージの展開]タブをクリックして、既存のイメージを展開します。 OpenShiftはDockerを使用するため、DockerHubまたはその他のレジストリから直接イメージをプルできます。

テストするには、下の画像に示すように、「ImageName」フィールドに「openshift/hello-openshift」イメージを入力して使用します。

画像名の右側にある検索アイコンをクリックしてから、下部にある[作成]ボタンをクリックします。デフォルトのオプションでは、追加の構成は必要ありません。

プロジェクトの概要をクリックして、アプリケーションのステータスを確認します。

新しいルートの作成

次に、以前に作成したOpenShiftルーターを介してアプリケーションにアクセスできるようにするための新しいルートを作成します。これを行うには、左側の[アプリケーション]メニューをクリックしてから、[ルート]に移動します。

ルーティングは、アプリケーションを公開する方法です。 [ルートの作成]ボタンをクリックしたら、次の情報を入力する必要があります。この情報には、プロジェクトの一意の名前、ホスト名、ルーターがトラフィックをサービスにルーティングするために監視するパスが含まれます。

その後、OpenShiftはアプリケーションへのアクセスに使用されるホスト名を生成します。 DNSにワイルドカードAレコードを作成して、本番環境でこれをセットアップするときにすべてのアプリをOpenShiftクラスターに自動ルーティングできるようにする必要があります。

*.openshift.yourdomain.com A

生成されたホスト名をローカルホストファイルに追加して、Linuxの「/ etc / hosts」、Windowsの「C:\ WINDOWS \ system32 \ drivers \ etc\hosts」でテストします。

OpenshiftOriginへの新しいアプリケーションの追加

OpenShift Originは、ビルドを実行するためのツールと、ソースからイメージへのツールチェーンを介して事前定義されたビルダーイメージ内からソースコードをビルドするためのツールを提供します。 Node.jsのビルダーイメージとサンプルソースコードを組み合わせて新しいデプロイ可能なNode.jsイメージを作成する新しいアプリケーションを作成するには、管理ユーザーに接続してデフォルトプロジェクトに変更した後、次のコマンドを実行します。

# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git
--> Found Docker image b3b1ce7 (3 months old) from Docker Hub for "openshift/nodejs-010-centos7"

Node.js 0.10
------------
Platform for building and running Node.js 0.10 applications

Tags: builder, nodejs, nodejs010

* An image stream will be created as "nodejs-010-centos7:latest" that will track the source image
* A source build using source code from https://github.com/openshift/nodejs-ex.git will be created
* The resulting image will be pushed to image stream "nodejs-ex:latest"
* Every time "nodejs-010-centos7:latest" changes a new build will be triggered
* This image will be deployed in deployment config "nodejs-ex"
* Port 8080/tcp will be load balanced by service "nodejs-ex"
* Other containers can access this service through the hostname "nodejs-ex"

--> Creating resources ...
imagestream "nodejs-010-centos7" created
imagestream "nodejs-ex" created
buildconfig "nodejs-ex" created
deploymentconfig "nodejs-ex" created
service "nodejs-ex" created
--> Success
Build scheduled, use 'oc logs -f bc/nodejs-ex' to track its progress.
Run 'oc status' to view your app.

ビルドは、提供されたイメージと、提供されたGitリポジトリのマスターブランチへの最新のコミットを使用して自動的にトリガーされます。ビルドのステータスを取得するには、以下のコマンドを実行します。

# oc status

CLIで使用可能なコマンドの詳細を確認できます。

#oc help

これで、Openshiftによって生成されたリンクをWebブラウザーで開くことにより、テストアプリケーションを表示できるようになります。 OpenshiftWebコンソールから新しくデプロイされたアプリのステータスを表示することもできます。

インストールされているアプリケーションのいずれかをクリックして、IP、ルート、およびサービスポートの詳細を確認してください。

結論

この記事では、CentOS7.2にシングルサーバーのOpenshiftOrigin環境を正常にインストールして設定しました。 OpenShiftは、Kubernetesに開発者および運用中心のツールを追加して、迅速なアプリケーション開発、簡単なデプロイとスケーリング、および小規模および大規模なチームの長期的なライフサイクルメンテナンスを可能にします。これは、スタック、チーム、または組織全体の集中管理および管理です。システムのコンポーネント用に再利用可能なテンプレートを作成し、それらを時間の経過とともにインタラクティブに展開します。ソフトウェアスタックへの変更を、管理された方法で組織全体に展開します。 LDAP、Active Directory、GitHubなどのパブリックOAuthプロバイダーなどの既存の認証メカニズムとの統合。


Cent OS
  1. CentOSでSFTPサーバーをセットアップする方法

  2. CentOS8でテキストパターンCMSを設定する方法

  3. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  1. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  2. CentOS8でSSHキーを設定する方法

  3. CentOSでMySQLレプリケーションを設定する方法

  1. CentOS 8 /RHEL8でNFSサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でIcingaWeb2をセットアップする方法

  3. CentOS8でFirewallDを使用してファイアウォールを設定する方法