k8s 搭建
yum remove docker*
yum install -y yum-utils
yum -config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
systemctl daemon-reload
systemclt restart docker
systemctl restart docker
docker info
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
setenforce 0
sed -i 's^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
grep SELINUX /etc/selinux/config
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
systemctl reboot
free -m
hostnamectlreconnect
hostnamectl set-hostname k8s-master
cat >> /etc/hosts << EOF
192.168.19.129 k8s-master
192.168.19.130 k8s-node1
192.168.19.131 k8s-node2
EOF
cat << EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
#允许iptables 检查桥接流量
cat << EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
# 设置时间同步
yum install ntpdate -y
ntpdate time.windows.com
# 配置k8s yum 源
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl = http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=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 remove -y kubelet kubeadm kubectl
yum list kublet --showduplicates | sort -r
yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9
tee ./images.sh << 'EOF'
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pause:3.2
)
for imageName in ${images[@]};do
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
## master 执行
kubeadm init --apiserver-advertise-address=192.168.19.129 \
--control-plane-endpoint=k8s-master \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16
done
EOF
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
echo $KUBECONFIG
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/
You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:
kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg \
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc \
--control-plane
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg \
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc
[root@localhost ~]#
##重新生成 token
kubeadm token create --print-join-command
#网络插件
curl https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml -O
kubectl apply -f calico.yaml
#quay.io 开放下载
### 手动下载
210 docker pull quay.io/calico/pod2daemon-flexvol:v3.20.6
211 docker images
212 docker tag quay.io/calico/pod2daemon-flexvol:v3.20.6 calico/pod2daemon-flexvol:v3.20.6
213 set- o vi
214 set -o vi
215 docker images
216 set -o vi
217 docker pull quay.io/calico/node:v3.20.6 calico/kube-controllers:v3.20.6
218 docker image
219 docker images
220 docker tag quay.io/calico/node:v3.20.6 calico/node:v3.20.6
221 docker images
222 docker pull quay.io/calico/kube-controllers:v3.20.6
223 docker tag quay.io/calico/kube-controllers:v3.20.6 calico/kube-controllers:v3.20.6
224 history
#升级内核
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1-3.e17.x86_64.rpm
yum install -y yum-utils
yum -config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
systemctl daemon-reload
systemclt restart docker
systemctl restart docker
docker info
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
setenforce 0
sed -i 's^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
grep SELINUX /etc/selinux/config
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
systemctl reboot
free -m
hostnamectlreconnect
hostnamectl set-hostname k8s-master
cat >> /etc/hosts << EOF
192.168.19.129 k8s-master
192.168.19.130 k8s-node1
192.168.19.131 k8s-node2
EOF
cat << EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
#允许iptables 检查桥接流量
cat << EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
# 设置时间同步
yum install ntpdate -y
ntpdate time.windows.com
# 配置k8s yum 源
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl = http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=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 remove -y kubelet kubeadm kubectl
yum list kublet --showduplicates | sort -r
yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9
tee ./images.sh << 'EOF'
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pause:3.2
)
for imageName in ${images[@]};do
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
## master 执行
kubeadm init --apiserver-advertise-address=192.168.19.129 \
--control-plane-endpoint=k8s-master \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16
done
EOF
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
echo $KUBECONFIG
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/
You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:
kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg \
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc \
--control-plane
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join k8s-master:6443 --token ex9ibk.kye5sdwmmplf5owg \
--discovery-token-ca-cert-hash sha256:f3e2de7e5cd711157b79c2bf53433eb1dd11ee3021911b660aab6925fb2e83bc
[root@localhost ~]#
##重新生成 token
kubeadm token create --print-join-command
#网络插件
curl https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml -O
kubectl apply -f calico.yaml
#quay.io 开放下载
### 手动下载
210 docker pull quay.io/calico/pod2daemon-flexvol:v3.20.6
211 docker images
212 docker tag quay.io/calico/pod2daemon-flexvol:v3.20.6 calico/pod2daemon-flexvol:v3.20.6
213 set- o vi
214 set -o vi
215 docker images
216 set -o vi
217 docker pull quay.io/calico/node:v3.20.6 calico/kube-controllers:v3.20.6
218 docker image
219 docker images
220 docker tag quay.io/calico/node:v3.20.6 calico/node:v3.20.6
221 docker images
222 docker pull quay.io/calico/kube-controllers:v3.20.6
223 docker tag quay.io/calico/kube-controllers:v3.20.6 calico/kube-controllers:v3.20.6
224 history
#升级内核
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1-3.e17.x86_64.rpm
浙公网安备 33010602011771号