オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com Kubernetes クラスターは、一般的に、1 つのマスターと複数のスレーブ、および複数のマスターと複数のスレーブの 2 つのカテゴリに分けられます。 1 つのマスターと複数のスレーブ: 1 つのマスター ノードと複数のノード ノード。構築は簡単ですが、単一のマシンが故障するリスクがあります。テスト環境に適しています。 複数のマスターと複数のスレーブ:複数のマスター ノードと複数のノード ノード。セットアップが難しく、実稼働環境に適しています。 この記事では、kubeadm を使用して、テスト用にマスター 2 スレーブの Kubernetes クラスターをデプロイします。また、ネットワーク プラグインと、単純な nginx サービスのデプロイの例も紹介します。 1. スワップパーティションを無効にするスワップオフ- a スワップ パーティションは仮想メモリ パーティションを指します。その機能は、物理メモリが使い果たされた後に使用できるように、ディスク領域をメモリに仮想化することです。 スワップ デバイスを起動するとシステム パフォーマンスに非常に悪影響を与えるため、ここではスワップ パーティションをオフにします。 vim / etc / fstab 最後の行をコメントアウトします。 2. dockerをインストールする(3ノード)1.ミラーソースを切り替えるhttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo を実行します。 2. 以前のイメージソースでサポートされているDockerバージョンを確認するyum list docker -ce --showduplicates を実行します。 3. 指定されたバージョンの docker をインストールします (–setopt=obsoletes=0 で、指定されたバージョンを使用します)yum install --setopt = obsoletes = 0 docker - ce - 18.06.3 。 ce - 3. el7 - y 4. 設定ファイルを追加するDocker がデフォルトで使用する Cgroup ドライバーは cgroupfs ですが、Kubernetes では cgroupfs ではなく systemd を使用することが推奨されています。 /etc/docker ディレクトリに移動します 5. Dockerを起動するsystemctl docker を再起動します 3. Kubernetes コンポーネントをインストールする (3 つのノード)1. ミラーソースを構成するvim /etc/yum.repos.d/kubernetes.repo 2. 指定されたバージョンのkubeadm、kubelet、kubectlをインストールするyum install -- setopt = obsoletes = 0 kubeadm - 1.23 .6 - 0 kubelet - 1.23 .6 - 0 kubectl - 1.23 .6 - 0 - y 3. /etc/sysconfig/kubeletの内容を変更し、内部の内容を置き換えるvim / etc / sysconfig / kubelet 4. kubeletを自動的に起動するように設定するsystemctl kubelet を有効にする 4. クラスターイメージを準備するこのステップは、kubeadm init の 5 番目のステップを準備するためのものです。init はイメージをプルしますが、このイメージは kubernetes ウェアハウスにあります。ネットワーク上の理由により接続できませんので、以下の方法をご利用ください。 こんにちは。 シュ コンテンツを追加します。 画像= ( シマ。 シュ 5. クラスタの初期化(マスターノード)1. マスターノードがクラスターを作成するkubeadm 初期化\ 最後のいくつかのコマンドを記録します。
2. 必要なファイルを作成するmkdir -p $ HOME / .kube 6. スタンバイマシンの初期化kubeadm init の最後にある kubeadm join ステートメントを使用して、スタンバイ マシンを初期化します。 kubeadm join ステートメントを忘れた場合は、次のコマンドを使用して、マスター ノード上の join コマンド パラメータを取得できます。 kubeadm トークン作成-- 印刷- 参加- コマンド 2 台のスタンバイ マシンで変更ステートメントを実行し、クラスターに参加します。結果は次のとおりです。 ノードのステータスを表示するには、コントロールプレーンで kubectl get nodes を実行するように求められます。つまり、マスターノードで実行します。ノードのステータスが NotReady であることがわかります。これは、ネットワーク プラグインがインストールされていないためです。 kubectl ノードを取得する 7. ネットワークプラグインをインストールする - calicoKubernetes は、flannel、calica、canal など、さまざまなネットワーク プラグインをサポートしています。いずれかを選択して使用できます。今回は三毛猫を選びました。 ネットワーク プラグインがインストールされていない場合、CoreDNS はネットワーク プラグインなしでは IP アドレスを割り当てることができないため、ノードは <font color="#dd00dd">NotReady</font> 状態になり、保留状態のままになります。 このプラグインがないと、kubedns は起動できず、ポッドは相互に通信できません。 <font color="#dd00dd">マスターノードでのみ実行する必要があります。プラグインは、各ノードで実行される DaemonSet コントローラーを使用します。 </font><br />。 1. 設定ファイルを取得して適用するcurl https://projectcalico.docs.tigera.io/manifests/calico.yaml -O を実行します。 2. サービスの状態を確認すると、すべて実行中であるノードのステータスを再度確認すると、すべてのノードが <font color=“#dd00dd”>準備完了</font> 状態であることがわかりました。 8. CoreDNSをデプロイするgit クローンhttps://github.com/coredns/deployment.git コマンドを使用してステータスを確認し、ポッドが ContainerCreating 状態にあることを確認します。 kubectl ポッド、 SVC を取得- A kubectl describe を使用して coredns ポッドを表示し、 coredns イメージがプルされていることを確認します。しばらくお待ちください。 kubectl はポッドcoredns - 799 bc9dbc6 - m7q4t - n kube - システムを説明します しばらく待ってからイベントを確認すると、プルがようやく成功したことがわかりました。 pod と svc のステータスを確認します。両方とも実行中です。 kubectl ポッド、 SVC を取得- A 9. kubernetes-dashboardのデプロイ1. yamlファイルを取得するhttps://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml を取得します。 2.ダッシュボードを外部に公開するための設定を追加するvim 推奨.yaml デフォルトではダッシュボードはクラスター内でしかアクセスできないため、サービスを NodePort タイプに変更して外部に公開します。 3. 変更したrecommended.yamlを適用するkubectl apply - f 推奨.yaml 4. kubernetes-dashboardのポッドステータスを確認すると、すべてすでに実行中であることがわかります。kubectl get pods - n kubernetes - ダッシュボード 5. ウェブサイトにアクセスするhttps://NodeIP:30001。 私のマスターノードのアドレスは 172.20.10.6 なので、https://172.20.10.6:30001 にアクセスしてください。 6. サービス アカウントを作成し、デフォルトの cluster-admin 管理者クラスター ロールにバインドします。ユーザーを作成します: kubectl サービスアカウントダッシュボードを作成- admin - n kube - system ユーザー認証: kubectl クラスターロールバインディングダッシュボード- admin --clusterrole = cluster - admin --serviceaccount = kube - system : ダッシュボード- admin を作成します。 ユーザートークンを取得します: kubectl はシークレットを記述します- n kube - system $ ( kubectl - n kube - system はシークレットを取得します| awk '/dashboard-admin/{print $1}' ) 7. 出力トークンを使用してダッシュボードにログインします。ノード、名前空間など、現在の k8s 関連情報を表示できます。 10. k8sを使ってnginxを簡単にデプロイする1. yamlに従って名前空間を作成するvim nginx - 名前空間.yaml 名前空間を作成します。 [root@pg01 ~]# kubectl create -f nginx-namespace.yaml クエリ名前空間: [ root @ pg01 ~ ]# kubectl 名前空間を取得する 2.ポッドを作成する通常、ポッドは直接作成されず、コントローラーを通じて作成されます。デプロイメントはコントローラーの1つです nginx イメージをプルします: docker プルnginx ポッドの yaml ファイルを編集します。 vim nginx - デプロイメント.yaml 内容は以下のとおりです。 apiバージョン: アプリ/ v1 作成する: kubectl create -f nginx -deployment .yaml クエリ: kubectl ポッドを取得- n ns - テスト nginx-deployment によってデプロイされた両方のポッドは成功しました。 nginx に割り当てられた 2 つの IP を確認します。 kubectl ポッドを取得- o ワイド- n ns - テスト アクセステスト: カールhttp://10.0.181.5 3. サービスを作成する対応する yaml ファイルを作成します。 vim nginx - service.yaml 内容は以下のとおりです。 APIバージョン: v1 サービスを作成します。 kubectl create -f nginx -service .yaml サービスを見る: kubectl get svc nginx - サービス- o ワイド- n ns - tes アクセステスト: 4. ポートを公開してnginxサービスをデプロイするnginx-service.yaml ファイルは次のとおりです。 APIバージョン: v1 サービスをデプロイします。 kubectl create -f nginx -service .yaml サービスとポートを確認してください。 kubectl get svc nginx - サービス- n ns - テスト テストは次のとおりです。 ブラウザはマスターノードの IP アドレスを使用して k8s の nginx にアクセスします。マスターノードの IP アドレスは 172.20.10.6 なので、http://172.20.10.6:31090/ にアクセスします。結果は以下のようになります。 オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com. |
<<: 可用性、同時実行性、パフォーマンスに優れたクラウドネイティブ コンテナ ネットワークを構築するにはどうすればよいでしょうか?
>>: エッジコンピューティング (Edge ML) を 1 つの記事で理解しましょう。
多くの企業は、マルチクラウドとも呼ばれる複数のパブリック クラウド プロバイダーのクラウド コンピュ...
Amazon Web Services (AWS) は、2020 re:Invent Global ...
IT 組織は自動化を利用して多くのタスクを簡素化していますが、IT 組織の新しい領域で自動化の需要が...
IDC Review Network (idcps.com) は 5 月 30 日に次のように報告し...
2018年カタールワールドカップが正式に始まりました。ドイツの伝説的サッカースター、ベッケンバウアー...
最近、世界有数の情報技術調査・コンサルティング会社であるガートナーは、世界のパブリッククラウドサービ...
[[407823]]この記事はWeChatの公開アカウント「Sneak Forward」から転載した...
ちょうど今、ウェブマスターの情報に注目していたところ、Baiduが新たな発表を出したことを知りました...
すぐにホームページを検索し、10月上旬と11月上旬のスクリーンショットを比較してくださいヘッダーの元...
すべての SEO 担当者は検索エンジンのランキングの重要性を理解しているため、当社の Web サイト...
<!-- /* Style Definitions */ p.MsoNormal, li.M...
今日は木曜日なのでいい日です。ウェブサイトの改訂は1か月ほど続いていて、スパイダーは先週リリースされ...
このウェブサイトは2007年10月に構築されました。当時、QQタイプのサイトはまだ普及していませんで...
テンセントWeChat会員カードの責任者、耿志軍氏「最近とても忙しくて、もうすぐ深セン行きの飛行機に...
2010年9月、長年機密情報分野で資金を燃やしてきた姚金波(ウェイボー)は、資本が投げかけた和解に対...