CentOS 7はkubeadmを使用してk 8 sをオンラインでインストール
ハードウェア要件 x86-64 processor 2CPU 2GB RAM 10GB free disk space RedHat Enterprise Linux 7.x+, CentOS 7.x+, Ubuntu 16.04+, or Debian 9.x+
から
じっけんかんきょう
ホスト名
IP
ロール#ロール#
オペレーティングシステム
CPU/MEM
master
192.168.118.20
Master
CentOS7
2core/2GB
node1
192.168.118.21
node1
CentOS7
2core/2GB
node2
192.168.118.22
node2
CentOS7
2core/2GB
インストール手順
一、環境プリセット(すべてのホストで操作)
1.1、firewalldを閉じる
1.2、SElinuxを閉じる
1.3、Swapを閉じる
1.4、アリクラウドyumソースを使用する:
1.5、カーネルパラメータの修正
1.6、ローカル解析の構成
二、dockerエンジンのインストール(すべてのホストで操作)
2.1、アリクラウドdockerソースのインストール
2.2、dockerのインストール
2.3、dockerを起動する
2.4、docker部分パラメータの調整
2.5.dockerのCgroup Driver情報を確認する
三、kubernetes初期化ツールのインストール(すべてのホストで操作)
3.1、アリクラウドを使用するkubernetesソース
3.2、インストール
3.3、クbeletを起動する
四、クラスタの初期化(masterノードで操作)
4.1、マスター初期化
初期化に成功しました
4.2、指示に従って操作する
4.3、クラスタの再初期化
初期化中にエラーが発生した場合は、クラスタをリセットしてからクラスタを再初期化します.
五、calicoのインストール(masterノードで操作)
5.1、設置
5.2、インストール成功後podを見る
六、nodeがクラスタに加わる(masterノード以外の操作)
6.1、クラスタに参加する
6.2、masterノードnode及びpodの表示
これで簡単なk 8 sクラスタのインストールが完了しました
参考記事:https://www.jianshu.com/p/ad27168bebb5
から
じっけんかんきょう
ホスト名
IP
ロール#ロール#
オペレーティングシステム
CPU/MEM
master
192.168.118.20
Master
CentOS7
2core/2GB
node1
192.168.118.21
node1
CentOS7
2core/2GB
node2
192.168.118.22
node2
CentOS7
2core/2GB
インストール手順
一、環境プリセット(すべてのホストで操作)
1.1、firewalldを閉じる
systemctl stop firewalld; systemctl disable firewalld
1.2、SElinuxを閉じる
setenforce 0; sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
1.3、Swapを閉じる
swapoff -a; sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
swap,
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
--ignore-preflight-errors=Swap
1.4、アリクラウドyumソースを使用する:
wget -O /etc/yum.repos.d/CentOS7-Aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.5、カーネルパラメータの修正
[root@master ~]# cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
[root@master ~]# sysctl --system
1.6、ローカル解析の構成
vim /etc/hosts
192.168.118.20 master
192.168.118.21 node1
192.168.118.22 node2
二、dockerエンジンのインストール(すべてのホストで操作)
2.1、アリクラウドdockerソースのインストール
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2、dockerのインストール
yum install docker-ce -y
2.3、dockerを起動する
systemctl enable docker;systemctl start docker
2.4、docker部分パラメータの調整
mkdir -p /etc/docker
tee /etc/docker/daemon.json <
2.5.dockerのCgroup Driver情報を確認する
[root@master ~]# docker info |grep Cgroup
Cgroup Driver: systemd
三、kubernetes初期化ツールのインストール(すべてのホストで操作)
3.1、アリクラウドを使用するkubernetesソース
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
3.2、インストール
yum install -y kubelet kubeadm kubectl
3.3、クbeletを起動する
systemctl enable kubelet;systemctl start kubelet
# ,
四、クラスタの初期化(masterノードで操作)
4.1、マスター初期化
kubeadm init --kubernetes-version=1.18.5 --apiserver-advertise-address=192.168.118.20 --image-repository mirrorgcrio --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16 --ignore-preflight-errors=Swap,NumCPU
--kubernetes-version:k8s
--apiserver-advertise-address:spiserver
--image-repository: kubeadm k8s.grc.io , , –image-repository mirrorgcrio。
--ignore-preflight-errors=Swap,NumCPU: swap cpu
初期化に成功しました
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.118.20:6443 --token akiiod.ajlbeux62nhin6kw \
--discovery-token-ca-cert-hash sha256:76a5cfca9c7c90e319a0c27731dfab0d6c40932ba4c10b0dfb46d9528492a1d9
4.2、指示に従って操作する
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
root
export KUBECONFIG=/etc/kubernetes/admin.conf
, root
export KUBECONFIG=/etc/kubernetes/admin.conf
master
[root@k8s-master docker]# kubectl get cs
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true"}
admin node
scp /etc/kubernetes/admin.conf node1:/etc/kubernetes/
scp /etc/kubernetes/admin.conf node2:/etc/kubernetes/
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
4.3、クラスタの再初期化
初期化中にエラーが発生した場合は、クラスタをリセットしてからクラスタを再初期化します.
kubeadm reset
systemctl daemon-reload
systemctl restart kubelet
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
iptables -nL #
netstat -antlp #
五、calicoのインストール(masterノードで操作)
5.1、設置
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
5.2、インストール成功後podを見る
[root@master ~]# kubectl get pod -n kube-system -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-58b656d69f-jk7fr 1/1 Running 0 3m42s 10.122.219.67 master
calico-node-2jhdt 1/1 Running 0 3m42s 192.168.118.20 master
coredns-54f99b968c-5wmbp 1/1 Running 0 11m 10.122.219.66 master
coredns-54f99b968c-lgvsw 1/1 Running 0 11m 10.122.219.65 master
etcd-master 1/1 Running 0 11m 192.168.118.20 master
kube-apiserver-master 1/1 Running 0 11m 192.168.118.20 master
kube-controller-manager-master 1/1 Running 0 11m 192.168.118.20 master
kube-proxy-7ms45 1/1 Running 0 11m 192.168.118.20 master
kube-scheduler-master 1/1 Running 0 11m 192.168.118.20 master
六、nodeがクラスタに加わる(masterノード以外の操作)
6.1、クラスタに参加する
kubeadm join 192.168.118.20:6443 --token akiiod.ajlbeux62nhin6kw \
--discovery-token-ca-cert-hash sha256:76a5cfca9c7c90e319a0c27731dfab0d6c40932ba4c10b0dfb46d9528492a1d9 \
--ignore-preflight-errors=Swap,NumCPU
6.2、masterノードnode及びpodの表示
[root@master ~]# kubectl get pod -n kube-system -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-58b656d69f-jk7fr 1/1 Running 0 7m39s 10.122.219.67 master
calico-node-2jhdt 1/1 Running 0 7m39s 192.168.118.20 master
calico-node-4258m 0/1 Running 0 119s 192.168.118.21 node1
calico-node-lpcvq 0/1 Running 0 113s 192.168.118.22 node2
coredns-54f99b968c-5wmbp 1/1 Running 0 15m 10.122.219.66 master
coredns-54f99b968c-lgvsw 1/1 Running 0 15m 10.122.219.65 master
etcd-master 1/1 Running 0 15m 192.168.118.20 master
kube-apiserver-master 1/1 Running 0 15m 192.168.118.20 master
kube-controller-manager-master 1/1 Running 0 15m 192.168.118.20 master
kube-proxy-65tr6 1/1 Running 0 119s 192.168.118.21 node1
kube-proxy-7ms45 1/1 Running 0 15m 192.168.118.20 master
kube-proxy-h7sg5 1/1 Running 0 113s 192.168.118.22 node2
kube-scheduler-master 1/1 Running 0 15m 192.168.118.20 master
[root@master ~]# kubectl get node -n kube-system -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIM
Emaster Ready master 15m v1.18.5 192.168.118.20 CentOS Linux 7 (Core) 3.10.0-693.el7.x86_64 docker://19.3.12
node1 Ready 2m3s v1.18.5 192.168.118.21 CentOS Linux 7 (Core) 3.10.0-693.el7.x86_64 docker://19.3.12
node2 Ready 117s v1.18.5 192.168.118.22 CentOS Linux 7 (Core) 3.10.0-693.el7.x86_64 docker://19.3.12
これで簡単なk 8 sクラスタのインストールが完了しました
参考記事:https://www.jianshu.com/p/ad27168bebb5