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コンピューティングプラットフォームの実践
bluevm が利用可能になりました。ご興味があればぜひチェックしてみてください。 bluevm は...
ウェブサイトのスナップショットは、ウェブマスターがウェブサイトが検索エンジンに優しいかどうかを判断す...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますソフト記事...
Bluevm は、ほぼ 2 か月間、誰の実装からも消え去っています。512M メモリの KVM VP...
ジャック・マー氏はダブル11を中国版ブラックフライデーにしたいと語った。この2つをどう比較すればいい...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますクッキーが...
A5にもそのような広告があり、ウェブマスターステーションにもそのような広告があります。他の人が広告を...
今日のソーシャルおよびモバイル インターネット マーケティングでは、さまざまな情報とリソースがさまざ...
3月27日、工業情報化部通信安全局を指導機関とし、中国インターネットネットワーク情報センター(CNN...
オフラインプロモーションは、ウェブサイトへの直接トラフィックを増やすだけでなく、企業ブランドを宣伝す...
1. Dockerの理解1. Dockerの簡単な紹介Docker はオープンソースのアプリケーシ...
Evoxtは本日、米国、英国、ドイツ、マレーシア、香港の既存データセンターに加え、日本の大阪にデータ...
SEO に関して言えば、多くの人が次の用語を思い浮かべるでしょう: 構築の初期段階における Web ...
[51CTO.com クイック翻訳] 強力で大規模なものであっても、すべてのニーズを満たすことができ...
Easyvm は、米国ネバダ州ラスベガス (米国西部の内陸部、海岸沿いではありません) で VPS ...