構築するためのプラットフォームK8S、ダッシュボードのグラフィカルな管理、純粋な例

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/ck784101777/article/details/102729366

原則上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

おすすめ

転載: blog.csdn.net/ck784101777/article/details/102729366