原則上K8Sは、私が文書持ちの公式サイト、言うことはありませんhttps://www.kubernetes.org.cn/k8s
この章では、K8Sはどのように構築し、グラフィカルインターフェイス(dashbroad)管理K8Sを使用するようにします
1. 4つのホストを準備します
マスターノードコンピュータノードの3セットとして
2設定したIPとホスト名
そのホストやホスト名、IPベースでは、4つのホストを設定する必要が
/ etc / hostsファイルを
192.168.1.7マスター
192.168.1.8ノード1
192.168.1.9ノード2
192.168.1.10ノード3
#ルート転送を有効にし、それぞれがする必要がある
"1"> / procの/エコー SYS /ネット/ IPv4の/ ip_forwardを
3 yumのソースを設定します
[依存関係のダウンロード] https://github.com/ck784101777/kubernetes
-Cni-Containernetworking 0.6.0-3.el7.x86_64.rpm Kubernetes-Kubeadm-1.10.3-0.el7.x86_64.rpm
Etcd-3.3.11-2.el7.centos.x86_64.rpm Kubernetes-によってマスター1.10 .3-0.el7.x86_64.rpm
フランネル-0.7.1-4.el7.x86_64.rpm-Kubernetes-によってノード1.10.3-0.el7.x86_64.rpm
Kubernetes-1.10.3-0.el7.x86_64。回転数kubernetes-クライアント1.10.3-0.el7.x86_64.rpm
yumをVSFTP#が唯一のマスターで、FTPをインストールし、インストール-y
MKDIRの/ var / FTP / kubernetes
CP *の/ var / FTP / kubernetes /#Kubernetesにパッケージに依存します
vsftpdを起動systemctl
yumを搭載しcreaterepoを生成するcreaterepo#1のyumリポジトリをインストール-y
createrepo。#yumのリポジトリが作成され、忘れていない文字ポイントがあります
#のyum設定ファイル/etc/yum.repos.d/kub.repo VIMが作成され、各ホストを設定する必要があります
【KUB]
名= KUB
BASEURL = FTP://192.168.1.11/kubernetes
gpgcheck = 0
= 1有効
4民間倉庫レジストリの設定
[依存関係のダウンロード] https://github.com/ck784101777/kubernetes
centostar
kubernetes-dashboardtarの
ポッドinfrastructuretar
4つのホストは、インストールする必要があります
yumのドッキングウィンドウの#dockerインストールパッケージをインストール-y
yumをドッキングウィンドウ-分布#docker倉庫の依存関係をインストール
マスター上で、民間倉庫を設定し、設定ファイルを変更します
各ホスト上のvimの/ etc /のsysconfig /ドッキングウィンドウ#変更する必要があります
= ADD_REGISTRYを「 -アドオンレジストリを192.168.1.7:5000 」#は、IPアドレスのIPはあなたの修士を記入、倉庫を追加
INSECURE_REGISTRY =「 -安全でない、レジストリ192.168 .1.7:5000「#セキュリティ機関によって、この倉庫
ドッキングウィンドウドッキングウィンドウ配信#開始ドッキングウィンドウ、ドッキングウィンドウ-分布は、それぞれが果たす必要があります開始systemctl
ドッキングウィンドウ-i負荷centos.tar番号の画像がアップロードされ、マスター上の操作
ドッキングウィンドウ-i負荷kubernetes-dashboard.tar
ドッキングウィンドウ-i負荷ポッド-infrastructure.tar
192.168.1.7:5000/docker.io/centos:latest#docker.io/centos:latestドッキングウィンドウタグは、マスター上で動作し、ミラーをパッケージ化
ドッキングウィンドウタグkubernetes-ダッシュボード-AMD64:v1.8.3 192.168.1.7:5000/kubernetes-dashboard-amd64:v1.8.3
ドッキングウィンドウタグポッド-infrastructure.tar 192.168.1.7:5000/pod-infrastructure:latest
ミラー倉庫、マスタ動作に画像をアップロード#192.168.1.7:5000/docker.io/centos:latestドッカープッシュ
ドッキングウィンドウプッシュ192.168.1.7:5000/kubernetes-dashboard-amd64:v1.8.3
ドッキングウィンドウのプッシュ192.168.1.7:5000/pod-infrastructure:latest
#ノードを動作、画像をダウンロードし192.168.1.7:5000/docker.io/centos:latestドッカプル
ドッキングウィンドウ192.168.1.7:5000/kubernetes-dashboard-amd64:v1.8.3を引っ張ります
ドッキングウィンドウプル192.168.1.7:5000/pod-infrastructure:latest
5設定kubernets - マスター
インストール-Y YUM ETCD Kubernetes Kubernetesクライアントマスター#インストール依存関係
に6行目のetcd.cnfを変更#/etc/etcd/etcd.conf VIM、IPマスター
6:ETCD_LISTEN_CLIENT_URLS =「をhttp://192.168.1.7 :2379 "
VIMの/ etc / Kubernetesは/マスターのIPに、コンフィグ設定#ライン22を変更し
、「8080:--master = HTTP://192.168.1.7:KUBE_MASTER = 22"
vimのは/ etc / kubernetes / apiserver#二重引用符でServiceAccountを削除し、ライン23、IPマスターに、0.0.0.0に、ライン17をライン8を修正
8:KUBE_API_ADDRESS =「 - insecure-バインドに= 0.0.0.0アドレス"
17:KUBE_ETCD_SERVERS =" --etcd = HTTP-サーバ://192.168.1.7:2379 "
23:ServiceAccountパラメータを削除します。
KUBE_ADMISSION_CONTROL = " - admission-コントロール= NamespaceLifecycle、LimitRanger、SecurityContextDeny、ResourceQuota"
KUBE-apiserverのKUBE-コントローラマネージャKUBE-スケジューラetcdを開始systemctl
6 配置 kubernets - node
インストール-Y yumを Kubernetesサービスノードのノード番号のインストール
vimのは/ etc / kubernetes / configに#設定マスターのIPに、ライン22を変更
KUBE_MASTER =:22 "--master = HTTP://192.168.1.7:8080"
vimのは/ etc / kubernetes / kubelet
#14行目を修正し、修正するネイティブIPに11行を変更し、0.0.0.0に、kubeletライン5を変更し、コピーしてください私の(修士のためのIP、IPアドレス変更)
5:KUBELET_ADDRESS =「 -アドレス0.0.0.0 = "
11:KUBELET_HOSTNAME =" -オーバーライドホスト名ネイティブ名= "
14:KUBELET_ARGS =" -スワップ--failシステムDのcgroupドライバ= --- kubeconfig偽ONへ= =の/ etc / Kubernetes / kubelet.kubeconfig --pod-赤外線コンテナ画像 = 192.168.1.7:5000 /ポッドインフラ:latestt
kubelet.kubeconfigを作成#、次のように設定情報があり、IPを変更する、のマスターのIPアドレス/etc/kubernetes/kubelet.kubeconfig vimの
V1:apiVersion
種類:コンフィグ
:クラスタ
クラスタ: -
サーバー:http://192.168.1.7 :8080 ### IPのマスター、つまり自分自身のIP
名:ローカル
コンテキスト:
-コンテキスト:
クラスター:ローカル
名:ローカル
現在のコンテキスト:ローカル
kubelet KUBE-プロキシドッカ#はあなたのサービスを再起動起動systemctl
この時点で、kubernateノードが正常に確立された、あなたはホストマスターをテストするために行くことができます
kubectl説明のために、ノード#準備は正常に起動されています
NAMEのSTATUSの役割AGE VERSION
node1の準備<なし> 1D v1.10.3の
ノード2レディー<なし> 1D v1.10.3の
ノード3レディ<なし> 1D v1.10.3
7.ネットワーク
上記の構成を完了し、K8Sが正常に設定されているが、まだ通信できない、次のネットワークを構成することで、容器と実機、容器と容器との間の通信を可能に
マスター構成:
#0.0.0.0として、6行目を変更/etc/etcd/etcd.conf vimの
ETCD_LISTEN_CLIENT_URLS = "http://0.0.0.0:2379"
#仮想ネットワークを作成するコマンドetcdctlのMKを入力します。
etcdctl MK /atomic.io/network/config '{ "ネットワーク": "10.254.0.0/16"、 "バックエンド":{ "タイプ": "VXLAN"}}'
#成功を作成するかどうかを参照してください。
etcdctl GET /atomic.io/network/config
{ "ネットワーク": "10.254.0.0/16"、 "バックエンド":{ "タイプ": "VXLAN"}}
#ifconfigコマンドは10.254.0.0のネットワークがある見ることができます入力してください
ifconfigコマンド
docker0:フラグ= 4099 <UP、BROADCAST、MULTICAST> MTU 1500
のinet 10.254.92.1ネットマスク255.255.255.0放送0.0.0.0
node配置:
yumのフランネル#安装フランネルをインストール
マスターIPに、ライン#4を変更
のVimの/ etc /のsysconfig / flanneld
FLANNEL_ETCD_ENDPOINTS = "http://192.168.1.7:2379"
systemctlがSTOP#ドッキングウィンドウドッキングウィンドウを閉じなければなりません
flanneld#を開始systemctlドッキングウィンドウを再起動flanneld開始する必要があります
ドッキングウィンドウを起動しsystemctl
導通テスト:
#背景に、ノード1上のドッキングウィンドウコンテナを作成します。
ドッキングウィンドウで実行-itd 192.168.1.7:5000/docker.io/centos
ビュー#ID番号
ドッキングウィンドウPS
#Ipのビューコンテナ
ドッキングウィンドウは、ID号を検査します
#pingのpingのネットワーク構成が成功した場合、ノード2ノードのIP上でこのコンテナ、
ping IP
#コンフィギュレーション・ソリューションに失敗しました:
#デフォルトルートの転送ルールを受け入れるように設定されています
iptablesのはFORWARD -j ACCEPT -I
8コンテナ、テストを作成します。
[baseos.yamlとKUBE-dashboard.yamlダウンロード] https://github.com/ck784101777/kubernetes
#K8Sでコンテナを作成します。
-f baseos.yamlを作成kubectl
#ビューのコンテナは、
ポッド-o広い取得kubectl
#は、コンテナの実行
kubectl幹部-itテスト-OS-3826630470 / binに/ bashの- -jc5j4を
#KUBE-ダッシュボードグラフィカルな管理を作成します
-f KUBE-dashboard.yamlを作成kubectl
#ビューのコンテナは、名前空間を切り替える必要があります。
KubectlはPOD -n -o KUBE-システム全体をGET
NAME READYステータスはAGE IPノードが再起動
0 1H 10.254.17.2ノード2を実行しているkubernetes-ダッシュボード-8c7f65475-gm788 1/1
#私のダッシュボードには、FirefoxのWebサイトアクセス管理、ポート30090を使用し、ノード2上で実行されています
Firefoxのノード2:30090