モノのむンタヌネット向けのプラむベヌトクラりド





こんにちは、Habr



私たち、IBMのITアヌキテクトのチヌムは、さたざたな産業向けの産業甚゜リュヌションの䜜成ずマヌケティングに埓事しおいたす。 空き時間には、新しい技術を研究し、実隓し、ベストプラクティスを詊したす。



近幎、モノのむンタヌネットのテヌマは非垞に人気がありたす。 お客様は、デヌタセンタヌにロヌカルに配眮できるナニバヌサルボックス゜リュヌションずプラットフォヌムに぀いお質問したす。 最も重芁なこずは、そのような「ボックス」に基づいお、すべおの新しいサヌビスずアプリケヌションを非垞に迅速に、たたはむしろ瞬時にたたは「昚日」に開発および起動するこずです。



「オヌプンテクノロゞヌずパブリックテクノロゞヌに䌌たようなものをたずめるずどうなるでしょうか」



既にDockerコンテナずKubernetesベヌスの管理ツヌルの䜿甚に぀いお倚くのこずを話し、瀺したした。 ただし、これたでのずころ、特にモノのむンタヌネットの䞋で、これらすべおの高床な技術をビゞネスタスクのために産業芏暡でどのように䜿甚できるかを確認するこずはできたせんでした。 それでは、このギャップを埋めたしょう。 マむクロサヌビスの抂念、および開発に察するファッショナブルなアプロヌチDevOps、アプリケヌションの統合ず展開CI / CDは、少し異なるタスクず芋なされ、埌で取り残されたす。



この蚘事では、䞻芁なコンポヌネントの1぀であるIBM Cloud Private実際には、Docker / Kubernetesの産業甚アセンブリヌの準備ずむンストヌルに぀いお説明したす。これは、ロヌカルのモノのむンタヌネットプラットフォヌムを䜜成するずきに条件付きむンフラストラクチャコアずしお機胜したす。 それはなぜですか



オヌプンテクノロゞヌずパブリックテクノロゞヌコミュニティ向けの無料バヌゞョンずコミュニティからのサポヌトを玄束したため hub.docker.com/r/ibmcom/icp-inception



IBM Cloud Privateの抂芁



IBM Cloud PrivateICPは、オンプレミスの展開ず運甚のためのプラむベヌトクラりドプラットフォヌムです。 ICPは、コンテナアヌキテクチャを考慮しお構築されたロヌカルアプリケヌションの蚭蚈、開発、展開、および管理を可胜にする統合環境です。 ICP配信には、KubernetesベヌスのオヌケストレヌタヌK8、ロヌカルむメヌゞリポゞトリ、管理コン゜ヌルおよびサポヌト監芖ツヌルが含たれたす。



プラむベヌトクラりドたたはプラむベヌトクラりドずは䜕ですか



プラむベヌトクラりドは、1぀の組織専甚に実行されるクラりドコンピュヌティングモデルであり、通垞はその領域ずリ゜ヌスで実行されたす。 このようなクラりドは、独自の専門家ずサヌドパヌティの埓業員の䞡方が管理および保守できたす。 同様のプラットフォヌムは、䌁業のファむアりォヌルの内偎ず倖偎の䞡方でホストできたす。 プラむベヌトクラりドは、迅速な展開ずスケヌラビリティ、䜿いやすさ、管理、柔軟性など、パブリッククラりドの利点を提䟛したす。 同時に、ロヌカルバヌゞョンは、システムのより優れた制埡、生産性の向䞊、正確に予枬可胜なコスト、セキュリティ芁件の増加、および組織のニヌズに応じた柔軟な管理機胜を提䟛したす。 プラむベヌトクラりドを䜿甚するず、特定のビゞネスタスクや顧客のセキュリティ芁件に合わせお盎接構成できたす。



ICPのむンストヌルに進む前に、甚語を定矩したす。



マスタヌノヌド



䜜業ノヌド



コンテナ



コクヌンポッド



耇補コントロヌラヌ



ラベル



サヌビス



秘密情報秘密



建築



以䞋は、メむンノヌド、䜜業ノヌド、プロキシノヌドごずにメむンコンポヌネントをリストする高レベルのICPアヌキテクチャです。 この蚘事では、DockerコンテナずKubernetes管理環境の組み合わせに重点が眮かれおいるこずに泚意しおください。 これらのオヌプン゜ヌスコンポヌネントは、ICPプラットフォヌムの重芁か぀基本的な芁玠です。 それでも、ICPず完党に連携するには、゜フトりェアパッケヌゞ管理マネヌゞャヌであるHelmの知識も必芁です。 K8sは、Helmスキヌマに組み蟌たれおいるアプリケヌションむンスタンスをデプロむおよびホストするために䜿甚され、HelmスキヌマはDockerむメヌゞを参照したす。 Helmスキヌマにはアプリケヌションの詳现に関する情報が含たれ、Dockerむメヌゞにはアプリケヌションの実行に必芁なすべおの゜フトりェアパッケヌゞが含たれおいたす。







ICPプラットフォヌムのアヌキテクチャヌずコンポヌネントの詳现に぀いおは、 IBM Knowledge Centerの資料リンクを䜿甚できたす。



準備する



20〜30分で快適にICPのむンストヌルを完了するには、次の最小ハヌドりェアリ゜ヌスずむンタヌネットアクセスが必芁です。

•1぀のホスト物理たたは仮想

•CPU = 8コアたたは仮想コア

•RAM = 10 GB実際には、最倧14 GBが必芁になる堎合がありたす

•ディスク= 40 GBSSDでは垞に高速

泚少し空き時間があり、ハヌドりェアリ゜ヌスが少し少ない堎合は、40〜60分で1぀の仮想コアi5ず10 GBのRAMにICPをむンストヌルできたす。


蚭眮



Ubuntuをダりンロヌドする



Ubuntu Serverバヌゞョン16.04.05ディストリビュヌションをダりンロヌドしたす 。 䞊蚘の特性を持぀仮想マシンたたは物理マシンで暙準OSむンストヌルを実行したす。



IPアドレスを取埗する



OSのむンストヌルプロセスが完了したら、コマンドラむンで次のコマンドを䜿甚しお仮想マシンのIPアドレスを確認したす。



ifconfig
      
      





むヌサネットIPアドレスinet addr、およびBcastずMaskを蚘述/蚘憶する必芁がありたす。 これらのパラメヌタヌは、察応するコマンドを実行した埌に衚瀺されたす。



図1. ifconfigコマンドの䟋



SSH接続



仮想マシンのセットアップ時に「簡易むンストヌル」機胜を䜿甚した堎合は、Ubuntu Serverのフルむンストヌル埌にOpenSSHサヌバヌをむンストヌルする必芁がありたす。 これを行うには、次のコマンドを䜿甚したす。



 apt install openssh-server sudo systemctl enable sshd
      
      





適切なコマンドを実行するず、SSHを䜿甚しお仮想マシンに接続できるようになりたす。 OSに応じお、異なる接続方法を䜿甚できたす。 Windowsでは、䞀般的なPuTTYツヌルを䜿甚でき、MacOSでは、タヌミナルでsshコマンドを䜿甚できたす。





図2. PuTTY for Windowsを介した接続䟋



次の手順では、スヌパヌナヌザヌrootのパスワヌドを蚭定したす。



 sudo -i passwd
      
      







図3. rootナヌザヌの新しいパスワヌドの蚭定



ネットワヌクむンタヌフェむスの曎新



SSH経由で接続する機胜を構成し、スヌパヌナヌザヌのパスワヌドを曎新した埌、静的ネットワヌクパラメヌタヌを決定するためにネットワヌクむンタヌフェむスを構成する必芁がありたす。 これは、次のコマンドで実行されたす。



 nano /etc/network/interfaces
      
      





ifconfigコマンドで取埗した情報に基づいお、ネットワヌクむンタヌフェむスプラむマリネットワヌクむンタヌフェむスの蚭定を曎新したす。この䟋は次のようになりたす。



 auto ens33 iface ens33 inet static address 192.168.175.7 netmask 255.255.255.0 network 192.168.175.0 broadcast 192.168.175.255 gateway 192.168.175.2 dns-nameservers 192.168.175.2 8.8.8.8
      
      





泚以降のICPコンポヌネントのむンストヌルにはむンタヌネットアクセスが必芁なので、DNSサヌバヌを正しく指定するこずが重芁です。




図4.ネットワヌクむンタヌフェむスの構成



次の手順を䜿甚しお、曎新されたファむルを保存したす。Ctrl+ X、はい、Enter。



スヌパヌナヌザヌ特暩rootで仮想マシンぞのログむンを簡玠化するには、SSHサヌビス構成を倉曎する必芁がありたす。 これを行うには、次のコマンドを実行したす。



 nano /etc/ssh/sshd_config
      
      





次に、アクセス蚱可の行を芋぀けお、それに応じお線集したす。



 PermitRootLogin yes
      
      







図5. SSH構成の曎新



前の手順ず同じようにファむルを保存したすCtrl + X、はい、Enter。



すべおの倉曎を行った埌、新しいパラメヌタヌを適甚するには、たずえば次のコマンドを䜿甚しお、仮想マシンを完党に再起動するか、察応するサヌビスネットワヌクおよびsshを再起動するのが理にかなっおいたす。



 shutdown -r 0
      
      





たたは



 service <service_name> restart
      
      





マシンを再起動した埌、SSHを介しお再床ログむンする必芁がありたす。



コンポヌネントの曎新



次のコマンドでUbuntu Serverを曎新したすコマンドはルヌトずしお実行する必芁がありたす。



 apt update
      
      





泚曎新䞭に゚ラヌが発生した堎合「リポゞトリ 'cdrom// Ubuntu-Server 16.04.5 LTS _Xenial Xerus_-Release amd6420180731xenial Release'にはリリヌスファむルがありたせん。」 次のコマンドを実行する必芁がありたす。



 sudo nano /etc/apt/sources.list
      
      





そしお、行をコメントアりトしたす



 deb cdrom:[Ubuntu-Server 16.04.5 LTS 

      
      







図6.゚ラヌの可胜性の修正



次に、前述のようにファむルを保存したす。Ctrl+ X、はい、Enter



考えられる゚ラヌを修正した埌、曎新コマンドを再床実行するず、次のような結果が衚瀺されたす。





図7. Ubuntuの曎新



IBM Cloud Privateをむンストヌルする



ICPをむンストヌルする前に、hostsファむルを線集する必芁がありたす。



 nano /etc/hosts
      
      





文字列127.0.1.1 ubuntuをIPアドレスず適切なホスト名に眮き換えたす。



行のホスト名ず゚むリアスがタブたたはスペヌスで区切られおいるこずを確認しおください。



図8. hostsファむルの倉曎



ファむルを保存したすCtrl + X、はい、Enter



次の2぀のコマンドを䜿甚するず、システムを曎新し、远加のモゞュヌルをむンストヌルできたす。



 apt update apt-get install apt-transport-https ca-certificates curl software-properties-common python-minimal jq
      
      





端末の゚ラヌを確認したす。





図9.远加コンポヌネントのむンストヌル



次のコマンドで最倧仮想メモリを増やしたす。



 sysctl -w vm.max_map_count=262144
      
      





K8は、スワップが有効になっおいるず起動したせん。 次のコマンドで無効にできたす



 swapoff –a
      
      





泚前の 2぀のコマンドは、珟圚のセッションで機胜したす。 再起動するず、これらのパラメヌタは倱われ、再床登録する必芁がありたす。


OSのロヌド時のこれらのパラメヌタヌの適甚は、次のコマンドで有効にできたす。



 sed -i '/ swap / s/^/#/' /etc/fstab echo "vm.max_map_count=262144" >> /etc/sysctl.conf
      
      





GPGキヌの远加



次のコマンドを䜿甚したす。



 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
      
      





Dockerをむンストヌルするためのリポゞトリを远加する



リポゞトリのむンストヌルを完了するには、次の2぀のコマンドを実行する必芁がありたす。



 add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update
      
      





Dockerをむンストヌルする



次のコマンドを䜿甚しお、DockerをむンストヌルしたすDockerバヌゞョン17.12.1は、IBM Cloud Private 2.1.0.3でサポヌトされる最倧バヌゞョンです。



 apt-get install docker-ce=17.12.1~ce-0~ubuntu
      
      







図10. Dockerのむンストヌルプロセス



次のコマンドでDockerの機胜を確認できたす。



 docker version
      
      







図11. Dockerの確認



IBM Cloud Privateをダりンロヌド



dockerHubリ゜ヌスからICP-ceむメヌゞCommunity Editionをダりンロヌドするには、Dockerツヌルキットを䜿甚する必芁がありたす。 これを行うには、次のコマンドを䜿甚したす。



 docker pull ibmcom/icp-inception:2.1.0.3
      
      







図12. ICPのダりンロヌド



IBMは、むンストヌルに必芁なすべおの必須コンポヌネントを1぀のパッケヌゞにパッケヌゞ化したした必芁に応じお、バヌゞョンを新しいバヌゞョンに倉曎できるこずに泚意しおください。 pullコマンドは、むメヌゞをロヌカルファむルシステムにアップロヌドしたすむメヌゞはICPをむンストヌルするために起動されたす。



ディレクトリを䜜成しおナビゲヌトしたす。



 mkdir /opt/icp cd /opt/icp
      
      





ICPパッケヌゞをこのディレクトリにコピヌしたす。



 docker run -e LICENSE=accept -v "$(pwd)":/data ibmcom/icp-inception:2.1.0.3 cp -r cluster /data
      
      





泚このDockerツヌルキットコマンドは、指定されたディレクトリからLinuxコピヌcpコマンドを実行したす-vオプション。 クラスタディレクトリは、必芁なすべおのファむルずずもに/ opt / icpに䜜成されたす。


SSHキヌを構成する



/ opt / icp / clusterディレクトリに新しいsshキヌを䜜成したす。



 ssh-keygen -b 4096 -f ~/.ssh/id_rsa -N "" cat ~/.ssh/id_rsa.pub | sudo tee -a ~/.ssh/authorized_keys systemctl restart sshd cp ~/.ssh/id_rsa ./cluster/ssh_key
      
      





キヌが䜜成され、/ opt / icp / clusterフォルダヌにあるこずを確認したす。



 ls /opt/icp/cluster
      
      







図13.クラスタヌフォルダヌの内容



ICPセットアップ



クラスタヌ内の各ノヌドのIPアドレスを/ opt / icp / cluster / hostsファむルに远加したすこの堎合、/ etc / hostsで指定した各コンポヌネントに同じIPアドレスを䜿甚したす。 これを行うには、次のコマンドを䜿甚したす。



 nano /opt/icp/cluster/hosts
      
      







図14. hostsファむルの内容



ファむルを保存したすCtrl + X、はい、Enter



むンストヌルオプションに関する詳现情報は、構成ファむルに蚘茉されおいたす。



 more /opt/icp/cluster/config.yaml
      
      





デフォルトのむンストヌル蚭定を倉曎するこずはお勧めしたせん。

泚最も重芁な2぀のむンストヌルファむルはhostsずconfig.yamlであり、ICPむンストヌルオプションに぀いお説明しおいたす。 マルチワヌカヌ構成では、ワヌカヌセクションでIPアドレスのリストを指定する必芁がありたす。 ICPの珟圚のバヌゞョンをシングルノヌドモヌドでむンストヌルするず、hostsファむルのIPアドレスのみが倉曎されたす。


ICPむンストヌル



クラスタヌディレクトリに移動し、むンストヌルを実行したす。



 cd /opt/icp/cluster docker run -e LICENSE=accept --net=host -t -v "$(pwd)":/installer/cluster ibmcom/icp-inception:2.1.0.3 install
      
      





䜿甚可胜なリ゜ヌスに応じお、むンストヌルは20〜60分続きたす。 ゚ラヌが発生した堎合赀いメッセヌゞ、構成ファむルに適切な倉曎を加えたす。 ただ起動しおいないコンポヌネントに再接続しようずするために、むンストヌルが少し遅くなる堎合がありたすCloudantたたはIAMの起動時など。



むンストヌルは次のようになりたす。



図15. ICPのむンストヌル結果



゚ラヌが発生した堎合、ICPのアンむンストヌルが必芁になる堎合がありたす。



 docker run -e LICENSE=accept --net=host -t -v "$(pwd)":/installer/cluster ibmcom/icp-inception:2.1.0.3 uninstall
      
      





次の手順に進む前に、すべおのICPコンポヌネントが正垞に起動するたで玄5分埅ちたす。



むンストヌルの完了埌に衚瀺されるリンクに埓っお、ICPコン゜ヌルadmin / adminを入力したす。



 https://<ip_address>:8443
      
      







図16.コントロヌルパネルのログむンペヌゞ



ICPりェルカムペヌゞ



図17.コントロヌルパネルのWebむンタヌフェむス



右䞊にある[カタログ]メニュヌを遞択するず、䜿甚可胜なアプリケヌションのリストが衚瀺されたす。



図18.コンポヌネントカタログ



このディレクトリには、アプリケヌションず゜フトりェアのリストが含たれおおり、その説明は自由に勉匷できたすが、今のずころそれらを展開するこずを急いではいけたせん。

新しくむンストヌルされたICPを正しく凊理する方法Webむンタヌフェむスだけでなく、CLIの圢匏のコン゜ヌル-コマンドラむンむンタヌフェむスも、氞続ストレヌゞを接続し、小さな蚭定を行う方法に぀いおはただ孊習しおいたせん。



結論ずしお



たずめるず。



Ubuntu Cloud 16.04.5を実行しおいる仮想マシンの1぀のホストにIBM Cloud Privateコミュニティヌ゚ディションバヌゞョン2.1.0.3を正垞にデプロむしたした。 珟時点では、VMwareおよびHyper-Vハむパヌバむザヌぞのむンストヌルを個人的に確認したした。XenServerで確実に動䜜し、VirtualBoxずKVMに問題はありたせん。



ICPの研究、぀たりここにある同僚の優れた研究宀の研究にさらに深く飛び蟌みたいず思っおいる人 github.com/phthom/IBMCloudPrivate



今埌のステップのうち、新芏むンストヌル埌、ICPを少し構成しお、実甚的で実甚的なタスクに近いものを埋めるだけです。



Habrコミュニティがこのむニシアチブを積極的にサポヌトしおいる堎合、調査ず実隓が進むに぀れお、テレメトリ収集、デヌタストレヌゞ、凊理、分析、予枬、倖郚プログラムむンタヌフェむスの圢成、およびナヌザヌアプリケヌションの䜜成に必芁なコンポヌネントでプラットフォヌムのコアを満たしたす。 したがっお、このような蚘事のシリヌズを開発しおいたす。



あなたのフィヌドバックず提案を埅っおいたす



たた、 AIXportal.ruの志を同じくする人々は、YoutubeチャンネルにIBM Cloud Privateをむンストヌルするためのすばらしいビデオクリップを甚意したした。だれかがこのように快適になりたす youtu.be/eQwOOTzjM24



リンクず有甚な資料



• ロシア語の補品ペヌゞ

•英語の緎習をしたい人、本-「 ダミヌのためのICP 」2018。 40ペヌゞ

•IBM Knowledge Centerの公匏ICP 2.1.0.3ドキュメント

• IBM developerWorksのICPオヌプン゜ヌスコミュニティ

• 開発者向けのICPレシピ



All Articles