02 ----- kubeadm展開K8Sを学習K8S

マシン計画

システム構成

3台のマシンが実行されています

1、オフにSELinuxとfirewalld

SED -iさん/ SELINUX =施行/ SELINUX =無効/ G 'の/ etc / selinuxを/ configに

setenforce 0

systemctl停止firewalld && systemctl無効firewalld

2、カーネルパラメータの調整

猫<< EOF> /etc/sysctl.d/k8s.conf

net.bridge.bridge-NF-コール-ip6tablesを= 1

net.bridge.bridge-NF-コールのiptables = 1

EOF

 
sysctlの--system

図3に示すように、閉じたスワップ

するswapoff -a

オートロードブート・スワップパーティションを防止するためには/ etc / fstabの対応するエントリに注釈を付けることができます。

sudoは-i '/スワップ/ S / ^ \(。* \)$ /#1 /グラム\' の/ etc / fstabのsedの

注意:K8Sバージョン1.8は、スワップシステムの閉鎖を要求し始め、それ以外kubeletを起動していません。

インストールのドッキングウィンドウ

3つが実行されました

バージョン番号とバージョン1.13の後からタイムラインを介してドッキングウィンドウは、CEのCommunity EditionとEnterprise EditionのEEを分割;例えば:18.06バージョンの6月18日リリースのため。

1、ダウンロードしてインストールドッキングウィンドウ-CE

wgetの-c https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm

wgetの-c https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm

yumを-yドッキングウィンドウ-CE-selinuxを-17.03.2.ce-1.el7.centos.noarch.rpmドッキングウィンドウ-CE-17.03.2.ce-1.el7.centos.x86_64.rpmをインストール

注:このインストールバージョン17.03、最高のバージョンに対応するK8S-1.11.1のドッキングウィンドウは17.03です。

2、ドッキングウィンドウを起動します

ドッキングウィンドウを有効systemctl &&ドッキングウィンドウを起動しsystemctl

3、必要なミラーを実装

あなたは、ネットワーク上の@ @ @ @セクション学ぶことができるならば、このステップは省略することができ、クラスタのデフォルトを初期化kubeadmを使用してk8s.gcr.ioアドレスから、関連する画像をプルする必要があります。

マスターノードは実行されます。

画像=(KUBE-apiserver-amd64.tar KUBEコントローラマネージャ-amd64.tar KUBE-スケジューラーamd64.tar kubernetes-ダッシュボードamd64.tar etcd-amd64.tar coredns.tar flannel.tar KUBE-プロキシAMD64。タールpause.tar)

私は$ {画像[@]}のために、やります

    ドッキングウィンドウの負荷<$ I

完了

ノードノードは実行されます。

画像=(pause.tarのcoredns.tar amd64.tar flannel.tarキューブプロキシ)

私は$ {画像[@]}のために、やります

    ドッキングウィンドウの負荷<$ I

完了

ミラーシェア住所:

リンク:https://pan.baidu.com/s/1jtT0qHpcz1WjovIBP6JOwQパスワード:5xxn

インストールkubeadm

3台のマシンが実行されています

1、ソースYUM添加しました

猫> /etc/yum.repos.d/kubernetes.repo << EOF
[Kubernetes]
名前= Kubernetes
BASEURL = HTTPS://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
= 1有効
gpgcheck = 0
repo_gpgcheck = 0
EOF

2、インストールkubeadm

#最新バージョンをリスト
yumのリストkubeadm --showduplicates

#インストール
yumをkubeadm-kubectl-1.11.1をインストール1.11.1 1.11.1-オムレツ

注:マウントkubeadm、kubectl、kubelet、kubernetes-CNIインストールの依存関係の。

kubectlクラスタを管理するためのツールであり、kubelet各ノードがサービスノードは、開始ノード、ネットワーク・コンポーネントおよび他の機能を管理するためのドッカーを実行するあります。

コンフィギュレーションの開始kubelet

3台のマシンが実行されています

kubeletとドッキングウィンドウは同じcgroupdriverを使用することを確認し、ここにsystemdを使用します。

追加のパラメータをkubelet:

viのは/ etc /のsysconfig / kubelet
KUBELET_EXTRA_ARGS = " - ランタイムのcgroup = /にsystemd / system.slice --kubelet-のcgroup = /にsystemd / system.slice"

kubelet起動します。

&& kubeletを開始systemctl kubeletを有効systemctl

 

クラスタの初期化K8S

(マスターマシンが実行します)

初期化:

kubeadmのinit --apiserver  - 広告アドレス0.0.0.0 --apiserver-バインドポート= 6443 --pod-ネットワークCIDR = 10.244.0.0 / 16 --service-CIDR = 10.96.0.0 / 16 --kubernetesバージョン= v1.11.1

パラメータ:

--podネットワーク-CIDR:ポッドは、ネットワークセグメントを指定し、デフォルトは10.244.0.0/16です
--service-CIDR:サービス・セグメントを指定し、デフォルトは10.96.0.0.12です
--kubernetesバージョン:kubernetesバージョン、kubeadmバージョンの異なる時間のインストールを指定し、kubernetesバージョンが展開をサポートしているエラープロンプトのサポートがない場合には、異なっています
--apiserverアドレス・宣伝:apiserverはリスンアドレスを指定し、デフォルトは0.0.0.0を聞きます
--apiserverバインドポート:apiserverリスニングポート、デフォルトの6443を指定します。
--ignore-プリフライトエラー:スワップがエラーを開く場合は、このスワップを指定することはできませんオフにした場合、デフォルトで指定されたエラーメッセージは無視してください

初期化が完了すると、次のヒントがあります:

へのアクセスを増やすKubectl:

ます。mkdir -p $ HOME / .kube
sudoのcpは-i /etc/kubernetes/admin.conf $ HOME / .kube /設定
sudoのchownコマンド$(のid -u):$(IDの-g)の$ HOME / .kube /設定

フランネル - 設定は、ネットワークをK8S

Kubernetesはフランネル、キャリコ、織りネットワークおよび他のネットワークCNIドライバをサポートしています。

コンフィギュレーション・フランネル:

wgetのhttps://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

-f KUBE-flannel.ymlを適用kubectl

あなたが複数のネットワークカードを持っている場合は、-ifaceはに類似したクラスタホストのネットワークカードの名前を指定しKUBE-flannel.ymlパラメータを使用する必要があります。

引数:
- マスカレード-IP "
-  --kubeサブネットMGR
-  --iface = eth1の

 

クラスタに他のノードを追加します。

初期化が完了した後、クラスタがクラスタコマンドプロンプトに参加する最後の、見ることができますが、トークンが制限時間で、おそらく期限切れ時間をかけて、次のコマンドを使用して新しいコマンドに生まれることができます。

トークンkubeadm --print-参加-コマンドを作成します

のような出力:
448f0f0dd0de4668b55adee70fe7d1c74fe99e285ed35130130347e1aae3489c:kubeadm 100.2.30.203:6443 --token o2h5dk.mtaagmhp2mvbwb75 --discoveryトークン-CA-CERT-ハッシュSHA256に参加

他のノードで次のコマンドを入力し、クラスタに参加します。

既存のトークンを表示します。

トークンリストをkubeadm

検証

ビューポッド:

ポッド--all-名前空間を取得kubectl

NSは取得kubectl                              すべての名前空間を表示します

csが取得kubectl                              健康状態を表示

ノードを取得kubectl                       すべてのノード情報を参照してください

取得kubectlポッドは                         、すべてのポッドの表示情報を

問題

図1に示すように、ポッド所与状態KUBE-フランネル

 

バージョンをミラーリング矛盾によって引き起こさ進み量とKUBE-flannel.ymlダウンロードのミラーバージョンを表示して手動で変更します。

2、ポッドエラー状態coredns

ポッド-nのKUB-システムXXXXを記述kubectl特定のエラーの内容を確認してください

node02とnode03の二つのミラー、事前にダウンロード、それを解凍に、結局、家庭環境であるわけではありません。

 

おすすめ

転載: www.cnblogs.com/jinyuanliu/p/11317013.html