マシン計画
システム構成
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の二つのミラー、事前にダウンロード、それを解凍に、結局、家庭環境であるわけではありません。