Centos7インストールkubernetesチュートリアル

Centos7インストールkubernetesチュートリアル#

Kubeadmは、公式コミュニティによって立ち上げられたkubernetesクラスターを迅速に展開するためのツールです。

このツールは、次の2つの手順でkubernetesクラスターの展開を完了できます。

# マスターノードを作成する
kubeadm init

# 現在のクラスターにノードノードを追加します
kubeadm join <マスターノードのIPとポート>

1. インストール要件##

開始する前に、Kubernetesクラスターマシンを展開するには、次の条件を満たす必要があります。

2. 学習目標##

  1. すべてのノードにDockerとkubeadmをインストールします
  2. Kubernetesマスターを展開する
  3. コンテナネットワークプラグインを展開する
  4. Kubernetesノードをデプロイし、ノードをKubernetesクラスターに追加します
  5. ダッシュボードWebページを展開して、Kubernetesリソースを視覚的に表示します

3. 環境を準備する##

3つのホスト
IP:192.168.153.34ホスト名:k8s-マスターシステム:centos 7.6構成:2C 2G
IP:192.168.153.35ホスト名:k8s-node1システム:centos 7.6構成:2C 2G
IP:192.168.153.36ホスト名:k8s-node2システム:centos 7.6構成:2C 2G
3つのホストすべてがファイアウォールを閉じます:
# systemctl stop firewalld
# systemctl disable firewalld

3つのホストすべてがselinuxを閉じます。
# sed -i 's/enforcing/disabled/'/etc/selinux/config 
# setenforce 0

3つのホストすべてがスワップを閉じます。
# swapoff -a  #一時閉鎖
# vim /etc/スワップラインへのfstabコメント#完全閉鎖

ホスト名とIPの間の対応を追加します(3つのホストすべてが実行されます):
# cat >>/etc/hosts << EOF
192.168.153.34 k8s-master
192.168.153.35 k8s-node1
192.168.153.36 k8s-node2
EOF

セット192.168.153.34ホストホストホスト
# hostnamectl set-hostname  k8s-master

セット192.168.153.35ホストホストホスト
# hostnamectl set-hostname  k8s-node1

セット192.168.153.36ホストホストホスト
# hostnamectl set-hostname  k8s-node2

ブリッジされたIPv4トラフィックをiptablesのチェーンに渡します(3つのホストすべてが実行されます):
# cat >/etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables =1
net.bridge.bridge-nf-call-iptables =1
EOF
# sysctl --system

4. すべてのノードにDocker / kubeadm / kubeletをインストールします##

KubernetesのデフォルトのCRI(コンテナランタイム)はDockerであるため、最初にDockerをインストールします。

4.1 Docker ###をインストールします

各マシンにDockerをインストールします。バージョン18.09を使用することをお勧めします。

アリババクラウドのドッカーyumソースをダウンロードする,そしてインストール
# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# yum -y install docker-ce-18.09.9-3.el7

dockerを起動します,そして、自動的に起動するようにdockerを設定します
# systemctl start docker
# systemctl enable docker

ミラーダウンロードアクセラレーション
アリババクラウドのバックグラウンド制御インターフェースに入る
![ image_1e2kr61hi1oeq2ck1ktq7nssk79.png-141.4kB][1]

製品とサービスをクリックし、コンテナミラーリングサービスを選択します
![ image_1e2kraqj12i07a1mm011kcc8v13.png-73.9kB][2]

左下隅にミラーアクセラレータがあります
![ image_1e2krfndu1g191sag2tb1uu64q1g.png-86.4kB][3]

独自のアクセラレータアドレスを選択して、変更するだけです

 cat >/etc/docker/daemon.json << EOF
{" registry-mirrors":["https://6ze43vnb.mirror.aliyuncs.com"]}

cgroupドライバーを設定し、systemdを推奨します。

# cat >/etc/docker/daemon.json <<EOF
{" registry-mirrors":["https://6ze43vnb.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m"},"storage-driver":"overlay2"}
EOF

dockerを再起動します

systemctl daemon-reload
systemctl restart docker

4.2 アリババクラウドYUMソフトウェアソースを追加する###

# cat >/etc/yum.repos.d/kubernetes.repo << EOF
[ kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

4.3 kubeadm、kubelet、kubectl ###をインストールします

バージョンは頻繁に更新されるため、ここでは展開用にバージョン番号を指定します。

# yum install -y kubelet-1.16.0 kubeadm-1.16.0 kubectl-1.16.0
# systemctl enable kubelet

5. Kubernetesマスターをデプロイする##

192.168.153.34(マスター)で実行します。

# kubeadm init \
 - - apiserver-advertise-address=192.168.153.34 \
 - - image-repository registry.aliyuncs.com/google_containers \
 - - kubernetes-version v1.16.0 \
 - - service-cidr=10.1.0.0/16 \
 - - pod-network-cidr=10.244.0.0/16

中国ではデフォルトのプルミラーアドレスk8s.gcr.ioにアクセスできないため、ここでAlibabaCloudミラーウェアハウスアドレスを指定します

実行後、図のように表示されます
![ image_1e2ku14lmdvd4n16i49uf1nr29.png-136.5kB][4]

kubectlツール(192.168.153.34で実行)を使用します。

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

6. Kubernetesノードに参加する##

192.168.153.35/36(ノード)で個別に実行します。

クラスタに新しいノードを追加するには、kubeadminitで出力されたkubeadmjoinコマンドを実行します。

kubeadm結合線は、マスター側のkubeadminitによって生成されます。,実際にあなたのものは変わります
# kubeadm join 192.168.153.34:6443--token 6qf11n.pdyzp2zki1ydb2fc \
 - - discovery-token-ca-cert-hash sha256:e9055d8b3cfcf40330124f5da18e820ebcb6eb9ff28eb64c0f593e0fb154b755 

7. ポッドネットワークプラグイン(CNI)のインストール##

# kubectl apply -f kube-flannel.yml
# kubectl get pods -n kube-system

quay.ioの登録にアクセスできることを確認してください。

ダウンロードが失敗した場合は、次のミラーアドレスに変更できます:lizhenliang / flannel:v0.11.0-amd64

8. kubernetesクラスターをテストします##

Kubernetesクラスターにポッドを作成し、正常に実行されていることを確認します。

# kubectl create deployment nginx --image=nginx
# kubectl expose deployment nginx --port=80--type=NodePort
# kubectl get pod,svc

訪問アドレス:http:// NodeIP:Port

9. Kuboardをインストールします##

[ ポータル](https://www.kuboard.cn/install/install-k8s.html)

kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml

Kuboardの実行ステータスを表示します。

kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system

出力は次のとおりです。

NAME                       READY   STATUS        RESTARTS   AGE
kuboard-54c9c4f6cb-6lf88   1/1     Running       0          45s

トークンを取得##

注文の実行

# wwwを参照する場合.kuboard.cnが提供するドキュメントは、最初のマスターノードで実行できるKuberenetesをインストールします
echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}')-o go-template='{{.data.token}}'| base64 -d)

出力は、出力情報のトークンフィールドを取ります

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w

Kuboardにアクセス##

http://任意のワーカーノードのIPアドレス:32567 /

Recommended Posts

Centos7インストールkubernetesチュートリアル
CentOS7はKubernetes1.16.3をインストールします
CentosはMYSQL8.Xチュートリアルをインストールします
Centos7インストールMysql8チュートリアル
Centos7.2 /7.3クラスターインストールKubernetes1.8.4 +ダッシュボード
LinuxCentos7インストールredisチュートリアル
vmwareインストールCentOS7詳細チュートリアル
1.5Centos7をインストールする
5.1。CentOS @インストールJDK1.8グラフィックチュートリアル
CentOS 7yumインストールPHP7.3チュートリアル
CentOS7の下にMesosチュートリアルをインストールします
CentOS8インストールjdk8 / java8チュートリアル(推奨)
Centos6はPython2.7.13をインストールします
Centos7.3はnginxをインストールします
CentOS7.2はMysql5.7.13をインストールします
Centos7はPython3.6をインストールします。
CentOS7はMySQLをインストールします
Centos7インストールprotobuf
CentOS7はDockerをインストールします
CentOS7はGlusterFSをインストールします
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
CentOS7はHadoop3.0.0をインストールします
Centos7はPython2.7をインストールします
Centos7.6はseleniuをインストールします
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSインストールmysql
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
CentOS7インストールmysql
centOsはrabbitMQをインストールします
CentOS7はMySQL5.6をインストールします
Centos7はNginxをインストールします
CentOS6.5はCDH5.13をインストールします
Centos7インストールdocker18
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp
CentOS8はMySQL8.0をインストールします
Centos6.3はKVMをインストールします
CentOSはPostgreSQL9.1をインストールします
CentOS7はmysql8をインストールします
CentOS7はJava1.8をインストールします
CentOS8はfastdfs6.06をインストールします
CentOS7はGitlabをインストールします
Centos7はPostgreSQLをインストールします
CentOS7はMySQL8をインストールします
CentOS7はJava1.8をインストールします
CentOS6はDockerをインストールします
centos6.5インストールzabbix4.4
Centos8はDockerをインストールします
CentOS6.8はpython2.7をインストールします