Kubernetes とは何ですか?Kubernetes という単語はギリシャ語に由来し、操舵手または航海士を意味します。 Kubernetes は K8S とも呼ばれ、中央の 8 は「ubernete」を表す 8 文字です。 公式サイトでは次のように説明されています: プロダクションレベルのコンテナ オーケストレーション システムは、コンテナ化されたアプリケーションを自動的にデプロイ、スケーリング、管理するためのオープン ソース システムです。 (整列:ある目的に応じて順番に並べる、割り当てて配置する)。 K8S は CNCF 卒業プロジェクトです。もともと、Kubernetes は Google の社内プロジェクトでした。その後、オープンソース化され、その後、急速な成長を遂げるために Cloud Native Computing Foundation (CNCF) に寄贈されました。 github を見ると、Kubernetes は Go 言語を使用して開発されていることがわかります。 Go (Golang とも呼ばれる) は、Google が開発した、静的に強く型付けされ、コンパイルされ、並行処理され、ガベージ コレクションされるプログラミング言語です。 Kubernetes アーキテクチャ図マスター(コントロールプレーンによって制御されるシステム)k8s クラスター制御ノードは、クラスターのスケジュールと管理を行い、クラスター外部のユーザーからのクラスター操作要求を受け入れます。 マスター ノードは、API サーバー、スケジューラ、ClusterState ストア (ETCD データベース)、およびコントローラー MangerServer で構成されます。 ノード(データ)クラスターの作業ノードはユーザーのビジネス アプリケーション コンテナーを実行します。 ノードはワーカーノードとも呼ばれ、kubelet、kube proxy、Pod (コンテナ ランタイム) が含まれます。 Kubernetes環境の構築方法Kubernetes 環境 (クラスター) をデプロイする方法はいくつかあります。
Kubeadm で Kubernetes をデプロイするこの記事では、概略的な展開の説明として、上記の最初の方法を紹介します。 kubeadm は、Kubernetes クラスターを迅速にデプロイするために公式コミュニティによってリリースされたツールです。このツールは、次の 2 つの手順で Kubernetes クラスターのデプロイを完了できます。 マスターノードを作成します。 kubeadm の初期化 ノード ノードをマスター クラスターに追加します。 $ kubeadm join < マスターノードのIP とポート> Kubernetes デプロイメント環境の要件
Kubernetes 導入環境の準備ファイアウォールをオフにします。 systemctl 停止ファイアウォール selinuxをオフにします: sed - i 's/enforcing/disabled/' / etc / selinux / config #permanent スワップをオフにします (k8s はパフォーマンスを向上させるために仮想メモリを無効にします): sed -ri 's/.*swap.*/#&/' / etc / fstab # 永続的 マスターにホストを追加します (IP アドレスは独自の事前設定に基づきます)。 cat >> /etc/ ホスト<< EOF 192.168 .52 .100 k8smaster 192.168 .52 .101 k8snode EOF ブリッジパラメータを設定します。 cat > /etc/ sysctl 。 d / k8s 。 conf << EOF ネット. 橋。 ブリッジ-nf - call - ip6tables = 1 ネット。 橋。 ブリッジ- nf - 呼び出し- iptables = 1 EOF 時間同期: yum インストールntpdate -y Kubernetesのインストール手順すべてのサーバー ノードに Docker、kubeadm、kubelet、kubectl をインストールします。 Kubernetes のデフォルトのコンテナ ランタイム環境は Docker なので、まず Docker をインストールする必要があります。 (1)Dockerをインストールする Docker の yum ソースを更新します。 yum インストールwget -y 指定されたバージョンの Docker をインストールします (最新バージョン番号 xxxx を自分で置き換えてください)。 yum install docker -ce -x を実行します。 バツ。 バツ。 x - y ダウンロードを高速化するためにアクセラレータを設定します。 /etc/docker/daemon.json その後実行します。そうしないと警告が表示されます。 systemctl でdocker .service を有効にする (2)次に、kubeadm、kubelet、kubectlをビルドし、k8sのAlibaba Cloud YUMソースを追加します。 cat > /etc/yum 。 リポジトリ。 d / kubernetes 。 リポジトリ<< EOF [ kubernetes ] name = Kubernetes baseurl = https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF (3)kubeadm、kubelet、kubectlをインストールする yum インストールkubelet - 1.24.1 kubeadm - 1.24.1 kubectl - 1.24.1 - y その後実行します。そうしないと警告が表示されます。 systemctl kubelet .service を有効にする インストールされているかどうかを確認します: yum リストがインストールされました| grep kubelet インストールされているバージョンを確認します: kubelet –バージョン
この時点で、システムを再起動する必要があります (centos)。 (4)Kubernetesマスターノードをデプロイする(このコマンドはマスターマシン上で実行される) kubeadm init -- apiserver - advertise - address = 192.168 .52 .100 -- イメージリポジトリレジストリ。 アリユンクス。 com / google_containers -- kubernetes - バージョンv1 .24 .1 -- サービス- cidr = 10.96 .0 .0 / 12 -- ポッド- ネットワーク- cidr = 10.244 .0 .0 / 16 補足: service-cidr の選択は、PodCIDR およびローカル ネットワークと重複または競合することはできません。通常は、ローカル ネットワークと PodCIDR で使用されていないプライベート ネットワーク アドレス セグメントを選択できます。たとえば、PODCIDR が 10.244.0.0/16 を使用する場合、ネットワークに重複や競合がない限り、service-cidr は 10.96.0.0/12 を選択できます。 次に、マスター マシンで実行します。 mkdir -p $ HOME / .kube 次に、ノードを Kubernetes マスターに追加し、ノード マシン上で実行します。 クラスターに新しいノードを追加するには、kubeadm init によって出力される kubeadm join コマンドを実行します (以下を参照)。 kubeadm join 192.168.52.101: ポート番号--token wa5bif.zfuvbesevdfvf4of \ ネットワークプラグインを展開するkube-flannel.yml ファイルをダウンロードします (flannel は k8s クラスターの一般的なネットワーク コンポーネントです。github から yml ファイルを取得することをお勧めします) https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml にアクセスします。 kube-flannel.yml ファイルを適用してランタイム コンテナを取得します。 kubectl apply -f kube-flannel.yml (マスターマシンで実行): 次に、ノードのステータスを確認します: kubectl get nodes (マスター マシンで実行)。 STATUS:Ready が表示されたら、k8s 環境が構築されたことを意味します。 ランタイム コンテナ ポッドを表示します (1 つのポッドで複数の Docker コンテナが実行されています) kubectl ポッドの取得- n kube - システム 上記は、Kubeadm を使用して Kubernetes を簡単にデプロイするプロセスです。事前にマシン、環境、インストールパッケージなどを準備する必要があります。このプロセスには慎重な操作が必要です。一部のコンポーネントとパッケージを wget 経由で正常にダウンロードできない場合は、手動でダウンロードすることをお勧めします。 |
<<: クラウドネイティブに基づくFlinkコンピューティングプラットフォームの実践
序文この記事では、K8s の認証モジュールについて紹介します。 4 つの認証モードの概要を説明します...
速報ニュースイベントに関する Google と Bing の検索結果ページ (SERP) には、いく...
1. GoogleとAlibaba Cloudは言う:Alibaba Cloudオペレーティングシス...
海外メディアによると、LGは米国に新たなクラウドコールセンターを開設すると発表した。この動きは、アフ...
インターネットが発達してから20年、我が国のウェブサイトは日々変化し、ウェブサイトのSEO最適化も誕...
gigsgigscloud は数日前に米国国際回線向けの新しい VPS シリーズ「LAX-GLOBA...
外部リンクロボットの特徴あなたが SEO 担当者である場合。フルタイムでもパートタイムでも、以下の2...
Baiduのアルゴリズム更新以来、医療サイト、Taobaoの顧客サイトなどのウェブサイトが大規模に淘...
IT テクノロジーにおいて、ネットワーク ノード機能全体の仮想化に対する要件が高まり続けるにつれて、...
北京ビジネスデイリー(記者 魏魏) 先ほど終結したオンライン旅行業界の「二派閥争い」が再び勃発するか...
ソーシャル分野では、Facebook がインターネット発展の歴史におけるユニークな花となり、Pint...
最近、Amazon は 2014 年の年間書籍ランキングを発表し、初めて同時に Kindle 電子書...
2019年3月8日更新 - Gary IllyesがRankBrainの仕組みを解説Google ウ...
[51CTO.comオリジナル記事] 2020年5月15日、ファーウェイクラウド政府・企業戦略および...
高品質なコンテンツに対する期待が高まっており、モノのインターネットの成長により、エンドユーザーはエッ...