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コンピューティングプラットフォームの実践
張暁偉、マイマイバオCEO現在の電子商取引業界の戦火は収まるどころか、多くのプレーヤーによる電子商取...
justhost は、ロシアの DataLine と Rostelecom の 2 つのデータセンタ...
それから4か月も経たないうちに、アリババDAMOアカデミーが独自に開発したソルバー「MindOpt」...
企業の事業運営の核となる結果は顧客の心の中にあり、顧客の選択に影響を与えます。この核となる結果がブラ...
最近、WeChat公式アカウントが公開テストを開始しました。「万能のWeChat」が企業向けソフトウ...
[[211645]]序文時間は流れる水のように、あっという間に過ぎていきます。自分が仮想環境にいるの...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン出典 | Activity Box-AP...
今日、これまで「期間限定無料」だったInstapaperが突然無料になりました。この古いオフライン読...
Flexera が発表した年次調査は、クラウド コンピューティング市場で最も期待されている調査レポー...
今日の話題も決まり文句で、多くの友人が見たことがあるかもしれませんが、それでも詳細に話し、SEO初心...
最初の 2 つの章では、SEO に関する 4 つのよくある誤解を紹介しました。具体的なアドレスは、h...
最近、VPS やサーバーに関する情報があまりないことに気づいたので、仮想ホストの割引やプロモーション...
導入使用したい Docker イメージを見つけたものの、特定のニーズに合わせて変更できなかったことは...
ソフトコンテンツマーケティングはオンラインプロモーションの最重要課題と言えます。しかし、ソフトな記事...
外部リンクを構築する方法は、フォーラム、知道、百科事典、ソフト記事、外部リンクや友好リンクの購入など...