オープンソースの詳細については、以下をご覧ください。 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 つの記事で理解しましょう。
locvps は現在、ロサンゼルス、オランダ、ドイツ、オーストラリアの USMC の VPS の超低...
近年、柔軟性、パフォーマンス、スケーラビリティの向上を目的としたさまざまなツール、テクニック、フレー...
メタバースブームの中、新たな有力プレイヤーが登場した。 2017年にメタバースの概念が普及して以来、...
2018 年の発展を振り返ると、エンタープライズ クラウドと最新のデータ センターは 2019 年に...
従来のアプローチでは、今日のビジネスに求められる競争上の優位性と迅速なイノベーションを実現できないた...
みなさんこんにちは、朱衛坤がまた批判しに来ました、気にしないでください!今日共有するトピックはニュー...
中国新聞社10月29日(ITチャンネル五涛)大手電子商取引会社が秋冬物の衣類や靴、帽子などの商品を売...
ウェブサイトの最適化の計画を始める前に、まず簡単に説明しましょう。検索エンジンがウェブサイトに適切な...
annualkvmはshardhost傘下の新しいブランドです。設立されたばかりで、主に年間払いのK...
Kurun のコア リソースは、米国のロサンゼルス データ センターにあります。Kurun のロサン...
高級品Eコマース企業における人員削減数は増加し続けている。昨日、高級B2CウェブサイトShangpi...
2012年2月6日夕方、GoogleのPR値が更新され、ウェブサイトの新しいドメイン名はPR値3を取...
Pacificrack は昨年の立ち上げ以来、低価格戦略を採用してきました。結局のところ、それらはす...
専業ライターになる前、私はユーザーオペレーションの仕事をしていました。かつて、あるユーザーがコミュニ...
網易科技報、12月26日、海外メディアの報道によると、インターネット情報インフラサービスプロバイダー...