ドッカー+ K8Sクラスタのセットアップ

EDITORIAL

    私のノードが家にいるので、K8Sトラブルのミラーイメージは、パブリックインターネットをダウンロードするが、他はアリ雲をダウンロードし、お座りが公式ミラーのセキュリティを保証することはできませんので。

環境の紹介

    ドッカーバージョン

[ルートK8S @〜]#]ドッキングウィンドウのバージョン
クライアント:
 バージョン:18.03.0-CEの
 APIバージョン:1.37 
 囲碁バージョン:go1.9.4の
 Gitはコミット:0520e24は
 内蔵:水曜日3月21日午後11時09分15秒2018 
 OS /アーチ:のLinux / AMD64 
 実験:偽
 のOrchestrator:群れ

サーバー:
 エンジン:
  バージョン:18.03.0-CEの
  APIバージョン:1.37(最小バージョン1.12)
  バージョン行く:go1.9.4 
  Gitはコミット:0520e24 
  内蔵:水曜日3月21日午後11時13分03秒2018 
  OS /アーチ:のLinux / AMD64 
  実験:偽

    kubectlバージョン

[ルートK8S @〜]#のkubectlバージョンの
クライアントバージョン:version.Info {主: "1"、マイナー: "10"、GitVersion: "v1.10.0"、GitCommit: "fc32d2f3698e36b93322a3465f63a14e9f0eaead"、GitTreeState: "きれい"、BuildDate: "2018-03-26T16:55:54Z"、GoVersion: "go1.9.3"、コンパイラ: "GC"、プラットフォーム:の"Linux / AMD64"} 
Serverバージョン:version.Info {メジャー: "1"、マイナー:」 10" 、GitVersion: "v1.10.0"、GitCommit: "fc32d2f3698e36b93322a3465f63a14e9f0eaead"、GitTreeState: "きれい"、BuildDate: "2018-03-26T16:44:10Z"、GoVersion: "go1.9.3"、コンパイラ: "GC" 、プラットフォーム:の"Linux / AMD64"}

    kubernetesバージョン

v1.10.0

インストールプロセス

    ホスト名を変更して、2つのホスト間のホスト通信を設定し、ここで説明されていません

hostnamectl設定ホスト名K8Sが
設定され、ホスト名hostnamectl k8s1

    ファイアウォールを停止し、起動を無効に

systemctl停止firewalld && systemctl無効firewalld

    ファイアウォールをオフにして、ブートがSELinuxを閉じて設定

SED -i "S / SELINUX =強制/ SELINUX =無効/グラムの" / etc /のsysconfig / selinuxを

    スワップパーティションを閉じると、起動が自動的にマウントされない設定

するswapoff -a 
[ルートK8S @〜]#猫の/ etc / fstabの  

#の/ etc / fstabファイルの
アナコンダによって作成された#6月1日(土)の午前16時28分24秒2019 
#の
#アクセファイルシステム、参照することにより、/「/ devの下で維持されていますディスク」
#は、参照してくださいmanページのfstabの(5)、findfs(8)、マウント(8)および/またはBLKID(8)詳細は
は/ dev /マッパー/ CentOSのルート/ XFSデフォルト0 0 
UUID = e60e4d97-753a- 4db1-a590-54ba91cd48db /ブートXFSデフォルト0 0 
#の/ dev /マッパー/ CentOSのスワップスワップスワップデフォルト0 0

    ルールを転送してiptablesのを修正

net.bridge.bridge-NF-CALL-ip6tablesを= 1 
net.bridge.bridge-NF-CALL-のiptables = 1 
net.ipv4.ip_forward = 1

    構成を検証

modprobeはbr_netfilter 
のsysctl -p /etc/sysctl.d/k8s.conf

    インストールのドッキングウィンドウのツールを頼ります

sudoのヤムヤム-utilsの\ -yインストール
  デバイスマッパーを永続的データ\ 
  LVM2

    ドッキングウィンドウのレポファイルを追加します。

sudoのyumを-config設定マネージャ\ 
  --add-レポ\ 
  https://download.docker.com/linux/centos/docker-ce.repo

    ビューバージョンをインストールすることができます(オプション)

| yumをリストドッキングウィンドウ-ceが--showduplicates ソート-r

    インストールドッカー

sudoのyumをドッキングウィンドウ-CE-18.03.0.ce-1.el7.centosをインストール

    ドッキングウィンドウを起動し、ブートを設定

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



上記の手順は、マスターノードとノード上で実行する必要があります


    ミラーダウンロード

マスター上で以下のコマンドを実行し、あなたも、直接、シェルスクリプトを実行し、混乱しやすいので、画像をダウンロードするシェルスクリプトで記述することができます。

ドッカープルcnych / KUBE-apiserver-AMD64:v1.10.0 
ドッカープルcnych / KUBE-スケジューラーAMD64:v1.10.0 
ドッカープルcnych / KUBEコントローラマネージャ-AMD64:v1.10.0 
ドッカープルcnych / KUBE-プロキシAMD64 :v1.10.0の
ドッカープルcnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8の
ドッカープルcnych / K8S-DNS-DNSMASQ-乳母-AMD64:1.14.8の
ドッカープルcnych / K8S-DNS-サイドカー-AMD64。 1.14.8 
ドッカープルcnych / etcd-AMD64:3.1.12 
ドッカープルcnych /フランネル:v0.10.0-AMD64 
ドッカープルcnych /一時停止、AMD64:3.1 

ドッカータグcnych / KUBE-apiserver-AMD64:v1.10.0 k8s.gcr .IO / KUBE-apiserver-AMD64:v1.10.0 
ドッキングウィンドウタグcnych / KUBE-スケジューラ-AMD64:v1.10.0 k8s.gcr.io/kube-scheduler-amd64:v1.10.0
ドッカータグcnych / KUBEコントローラマネージャ-AMD64:v1.10.0 k8s.gcr.io/kube-controller-manager-amd64:v1.10.0 
ドッカーRMI cnych / KUBE-apiserver-AMD64:v1.10.0
ドッキングウィンドウタグcnych / KUBE-プロキシAMD64:v1.10.0 k8s.gcr.io/kube-proxy-amd64:v1.10.0 
ドッカタグcnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8 k8s.gcr.io /k8s-dns-kube-dns-amd64:1.14.8 
ドッカータグcnych / K8S-DNS-DNSMASQ-乳母-AMD64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 
ドッキングウィンドウタグcnych / K8S-DNS-サイドカー-AMD64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 
ドッカタグcnych / etcd-AMD64:3.1.12 k8s.gcr.io/etcd -amd64:3.1.12 
ドッカータグcnych /フランネル:v0.10.0-AMD64 quay.io/coreos/flannel:v0.10.0-amd64の
ドッカータグcnych /一時停止、AMD64:3.1 k8s.gcr.io/pause-amd64:3.1 

ドッカーRMI cnych / KUBE-スケジューラーAMD64:v1.10.0 
ドッカーRMI cnych / KUBEコントローラマネージャ-AMD64:v1.10.0 
ドッカーRMI cnych / KUBE-プロキシAMD64:v1.10.0 
ドッキングウィンドウRMI cnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8 
ドッキングウィンドウRMI cnych / K8S-DNS-のdnsmasq-乳母-AMD64:1.14.8 
ドッカRMI cnych /k8s-dns-sidecar-amd64:1.14.8 
ドッカーRMI cnych / etcd-AMD64:3.1.12 
ドッカーRMI cnych /フランネル:v0.10.0-AMD64 
ドッカーRMI cnych /一時停止、AMD64:3.1

ノードのノードで次のコマンドを実行し、同じようにあなたは内部のスクリプトを書くことができます

ドッキングウィンドウプルcnych / KUBE-プロキシAMD64:v1.10.0の
ドッキングウィンドウプルcnych /フランネル:v0.10.0-AMD64 
ドッカプルcnych /一時停止、AMD64:3.1 
ドッキングウィンドウプルcnych / kubernetes-ダッシュボード-AMD64:v1.8.3 
ドッカプルcnych / heapster-influxdb-AMD64:V1.3.3の
ドッキングウィンドウプルcnych / heapster-grafana-AMD64:V4.4.3の
ドッキングウィンドウプルcnych / heapster-AMD64:1.4.2の
ドッキングウィンドウプルcnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8 
ドッキングウィンドウプルcnych / K8S-DNS-のdnsmasq-乳母-AMD64:1.14.8の
ドッキングウィンドウプルcnych / K8S-DNS-サイドカー-AMD64:1.14.8 

ドッカタグcnych /フランネル:v0.10.0-AMD64 quay.io/coreos/flannel :v0.10.0-AMD64 
ドッカータグcnych /一時停止、AMD64:3.1 k8s.gcr.io/pause-amd64:3.1 
ドッカータグcnych / KUBE-プロキシAMD64:v1.10.0 k8s.gcr.io/kube-proxy-amd64 :v1.10.0
ドッキングウィンドウタグcnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 
ドッキングウィンドウRMI cnych /フランネル:v0.10.0-AMD64
ドッキングウィンドウタグcnych / K8S-DNS-のdnsmasq-乳母-AMD64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 
ドッカタグcnych / K8S-DNS-サイドカー-AMD64:1.14。 8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 
ドッキングウィンドウタグcnych / kubernetes-ダッシュボード-AMD64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3の
ドッキングウィンドウタグcnych / heapster-influxdb-AMD64:V1.3.3 k8s.gcr.io/heapster-influxdb-amd64:v1.3.3 
ドッカタグcnych / heapster-grafana-AMD64:V4.4.3のk8s.gcr.io/heapster-grafana-amd64:v4 .4.3 
ドッカータグcnych / heapster-AMD64:V1.4.2 k8s.gcr.io/heapster-amd64:v1.4.2 


ドッカーRMI cnych / KUBE-プロキシAMD64:v1.10.0 
ドッカーRMI cnych /一時停止、AMD64:3.1 
ドッカーRMI cnych / kubernetes-ダッシュボード-AMD64:v1.8.3 
ドッキングウィンドウRMI cnych / heapster-influxdb-AMD64:V1.3.3
ドッキングウィンドウRMI cnych / heapster-grafana-AMD64:V4.4.3 
ドッキングウィンドウRMI cnych / heapster-AMD64:1.4.2 
ドッキングウィンドウRMI cnych / K8S-DNS-KUBE-DNS-AMD64:1.14.8 
ドッキングウィンドウRMI cnych / K8S-DNS-dnsmasqの-nanny-AMD64:1.14.8 
ドッキングウィンドウRMI cnych / K8S-DNS-サイドカー-AMD64:1.14.8

    


   マスターノードとノードが実行される必要があります

    インストールkubelet、kubeadm、kubectl、kubernetes-CNI

        yumのソースを追加します。

猫<< EOF> /etc/yum.repos.d/kubernetes.repo 
[kubernetes] 
名= Kubernetes 
BASEURL =のhttp://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 
有効= 1 
gpgcheck = 0 
repo_gpgcheck = 0 
gpgkey =のhttp://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key。 GPG 
EOF

        インストール

yumをmakecache速い&& yumをインストール-y kubelet-1.10.0-0 
にyum -y kubeadm-1.10.0-0 kubectl-1.10.0-0 kubernetes-CNI-0.6.0-0.x86_64.rpmをインストール

    [表示]ドッキングウィンドウドライブ

ドッキングウィンドウ情報| grepをcgroup内
    のcgroupドライバ:cgroupfs

デフォルトのドライブkubectlはcgroupfsですが、システムを変更するには、yumをインストールし、yumをを使用して:注意してください。だから我々は、手動でkubectlドライブを変更する必要があります。

    kubectlドライブを変更します。

VI /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 
#この文書
-環境= "cgroup- KUBELET_CGROUP_ARGS =ドライバ= systemed" 
置き換える
環境を=「KUBELET_CGROUP_ARGS = - cgroup-ドライバ= cgroupfs "

    kubectlデーモンをリロード

systemctlデーモンリロード


マスター上で実行される次のコマンド

kubeadmのinit --kubernetes-バージョン= v1.10.0 --pod-ネットワークCIDR = 10.244.0.0 / 16 --apiserver  - 広告アドレス= 192.168.1.127

説明:

--kubernetesバージョンのK8Sバージョン
ポッド間のネットワークセグメントが生成され、ネットワークCIDR --pod 
--apiserver -広告のアドレスマスタノードアドレス
特別な注意を:特定を:初期化K8Sクラスタを成功した場合、次のように、コマンドの最後の行が表示されます生活費を節約するために、再現することはできません。
  #このコマンドは、ノードがK8Sコマンドに参加クラスタの他のノードです。
  kubeadmは192.168.1.127:6443 --token g8lrmt.1nhjcjqsk3a7l096 --discoveryトークン参加 0227ac613398b48b0d1949941c9f138b0444270cdd84ec9ef75e708ac14ca1cf:-ca-CERT-ハッシュSHA256を

    kubectlの設定を変更するためにプロンプ​​トに従ってください

MKDIR -pは$ HOME / .kube。
sudoのcpは-i /etc/kubernetes/admin.conf $ HOME / .kube / configに
はsudoをchown $(のid -u):$(IDの-g)の$ HOME / .kube /設定


コマンド追加K8Sを実行するノード上の

  0227ac613398b48b0d1949941c9f138b0444270cdd84ec9ef75e708ac14ca1cf:kubeadm 192.168.1.127:6443 --token g8lrmt.1nhjcjqsk3a7l096 --discoveryトークン-CA-CERT-ハッシュSHA256に参加

マスターのビュークラスタのステータス

このときのノードノード#出力は関係なく、我々はプラグインポッド通信ネットワークがライン上に設置されて置くものを、notread状態として表示されないことがあります。
ノードを取得しますkubectl

    マスターインストールフランネルプラグ

wgetのhttps://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 
kubectl -f KUBE-flannel.ymlを適用します

    起動状態ポッドの表示

kubectl GETポッド--all-名前空間
[ルート@ K8S〜]#kubectl GETポッド--all-名前空間の
	名前空間名READY STATUSがAGEの再起動
	KUBE-システムetcd-K8S 1/1実行0 4メートル
	KUBE-システムKUBE-apiserver-K8S 1 / 1 0の4M実行
	0の4M実行1/1 KUBE系KUBEコントローラマネージャ-K8Sを
	KUBEシステムをKUBE-DNS-86f4d74b45-nj7p8 0の5M実行3/3 
	KUBE系KUBE-フランネル-DS-amd64-7tpmz 1 / 1ランニング0 2メートルの
	KUBE-システムKUBE-プロキシr6bgh 1/1実行0 5メートル
	0 4メートルを実行しているKUBE-システムKUBE-スケジューラ-K8S 1/1

これまでのところK8Sクラスタがインストール!






インストールのダッシュボードUI管理ツール

    ダウンロードファイルYAML

wgetのhttps://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

インストールプロセス、参照します。https://www.cnblogs.com/harlanzhang/p/10045975.html




おすすめ

転載: blog.51cto.com/xinsir/2406118