オープンソースの詳細については、以下をご覧ください。 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 つの記事で理解しましょう。
新しく設立されたVPSブランドgfrackは現在、フランスの高防御クラウドサーバー事業に注力しており...
インターネットの急速な発展に伴い、企業の間でウェブサイトの SEO 最適化がますます普及しています。...
多くの企業は生き残ることがますます困難になっていると感じています。彼らはもはや消費者を理解しておらず...
edgenat も今年の Double Eleven に参加しました。すべての VPS が年間支払い...
大規模なウェブサイトで何かを検索すると、検索した内容に関連する広告が他のウェブサイトに表示されます。...
屋台経済は一夜にして人気となり、インターネットに初めて「屋台」を持ち込んだ企業もまた、ハイライトの瞬...
8月15日、360 Searchの公式Weiboアカウントで、8月16日の360 Search一周年...
急速に変化するテクノロジーの世界では、通信とエッジ コンピューティングの融合は、ネットワーク インテ...
ウェブマスター向けのウェブサイトであるため、GG広告を掲載する際には「推奨」を重視し、オンライン収益...
virmach の毎年恒例の夏のクリアランス セールが始まりました。過去の経験から、異なる構成がさま...
はじめに:この記事は によって編集され、公開されています。転載する場合は、必ずこの記事へのリンクを含...
10月22日から24日まで、国家次世代インターネットエンジニアリングセンターが主催し、南京江北新区な...
A5 Webmaster Network(www.admin5.com)は6月3日、マイクロソフトが...
Denodo の CTO である Alberto Pan 氏は、企業がビジネスをクラウド プラットフ...
pumpcloud の Double 12 プロモーションは少し遅れましたが、プロモーション割引はま...