Kubeadmは、公式コミュニティによって立ち上げられたkubernetesクラスターを迅速に展開するためのツールです。
このツールは、次の2つの手順でkubernetesクラスターの展開を完了できます。
# マスターノードを作成する
kubeadm init
# 現在のクラスターにノードノードを追加します
kubeadm join <マスターノードのIPとポート>
開始する前に、Kubernetesクラスターマシンを展開するには、次の条件を満たす必要があります。
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
KubernetesのデフォルトのCRI(コンテナランタイム)はDockerであるため、最初に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
# 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
バージョンは頻繁に更新されるため、ここでは展開用にバージョン番号を指定します。
# yum install -y kubelet-1.16.0 kubeadm-1.16.0 kubectl-1.16.0
# systemctl enable kubelet
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
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
# kubectl apply -f kube-flannel.yml
# kubectl get pods -n kube-system
quay.ioの登録にアクセスできることを確認してください。
ダウンロードが失敗した場合は、次のミラーアドレスに変更できます:lizhenliang / flannel:v0.11.0-amd64
Kubernetesクラスターにポッドを作成し、正常に実行されていることを確認します。
# kubectl create deployment nginx --image=nginx
# kubectl expose deployment nginx --port=80--type=NodePort
# kubectl get pod,svc
訪問アドレス:http:// NodeIP:Port
[ ポータル](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
http://任意のワーカーノードのIPアドレス:32567 /
Recommended Posts