网站建设推广是什么工作室,h5模板网站免费,外贸建站软件,嘉兴优化网站费用K8S环境搭建
前置条件
部署3台VM#xff0c;一台作为master,两台作为slave需要保障vm之间网络是互通的
为vm安装docker
# 安装/更新 yum-utils
yum install -y yum-utils#添加阿里镜像稳定版仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce…K8S环境搭建
前置条件
部署3台VM一台作为master,两台作为slave需要保障vm之间网络是互通的
为vm安装docker
# 安装/更新 yum-utils
yum install -y yum-utils#添加阿里镜像稳定版仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#安装最新版docker
sudo yum install -y docker-ce docker-ce-cli containerd.io#安装完成后启动docker
sudo systemctl start docker#检查docker运行状态
sudo service docker status配置docker镜像加速
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://xxxx.mirror.aliyuncs.com]//修改为你自己的镜像加速地址
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker查看加速是否配置成功
sudo docker info关闭交换区
# 查看 交换分区
free -m# 将 SELinux 设置为 permissive 模式相当于将其禁用 第一行是临时禁用第二行是永久禁用
setenforce 0
sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config# 关闭swap第一行是临时禁用第二行是永久禁用
swapoff -a
sed -ri s/.*swap.*/#/ /etc/fstab# 允许 iptables 检查桥接流量 K8s 官方要求
cat EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables 1
net.bridge.bridge-nf-call-iptables 1
EOF# 让配置生效
sysctl --system# 禁用 selinux
vim /etc/selinux/config
SELINUXdisabled# 关闭swap
swapoff -a # 临时
vim /etc/fstab # 永久
# 注释下面这行
#/dev/mapper/centos-swap swap swap defaults 0 0# 查看是否成功
free -m安装K8S三大件
安装 kubelet、kebeadm、kubectl
# 配置 k8s 的 yum 源地址
cat EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
nameKubernetes
baseurlhttp://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled1
gpgcheck0
repo_gpgcheck0
gpgkeyhttp://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF# 安装 kubelet、kubeadm、kubectl
yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9 --disableexcludeskubernetes# 启动kubelet
systemctl enable --now kubelet# 查看 kubelet 状态一会停止 一会运行。 这个状态是对的kubelet 等待 kubeadm 发号指令。
systemctl status kubelet下载master节点组件
# 配置镜像生成 images.sh
sudo tee ./images.sh -EOF
#!/bin/bash
images(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:v1.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
done
EOF# 拉取镜像
chmod x ./images.sh ./images.sh建议为三台机器同时安装不用区分对待如需单独下载可以使用如下命令
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/kube-proxy:v1.20.9初始化主节点
# 所有机器添加 master 域名映射以下 IP 为 master 的 IP
# 访问 cluster-endpoint 即 访问 172.31.0.4
echo 10.187.99.123 cluster-endpoint /etc/hosts# 主节点初始化 只在 master 服务器执行 其他 node 不用
# --apiserver-advertise-address: master 的 IP
# --control-plane-endpoint: master 的域名
# --service-cidr 和 --pod-network-cidr 是网络范围建议不要改。要改的话 2 个cidr 和 vps172.31.x.x 的3 个网络互相不能重叠还要修改 calico.yaml的 IP下图有写。
kubeadm init \
--apiserver-advertise-address10.187.99.123 \
--control-plane-endpointcluster-endpoint \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr10.96.0.0/16 \
--pod-network-cidr192.168.0.0/16安装网络插件calico
# 下载配置文件
curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O
# 加载配置
kubectl apply -f calico.yaml 生成新令牌
kubeadm token create --print-join-command部署dashboard
kubernetes官方提供的可视化界面
https://github.com/kubernetes/dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml遇到浏览器无法访问按照以步骤处理 在master节点创建存放证书目录 mkdir /root/key cd /root/key在master节点生成证书 openssl genrsa -out dashboard.key 2048
openssl req -new -out dashboard.csr -key dashboard.key -subj /CN192.168.1.31
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt在master节点删除原来的证书 kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard在master节点创建新的证书 kubectl create secret generic kubernetes-dashboard-certs --from-filedashboard.key --from-filedashboard.crt -n kubernetes-dashboard在master节点查看pod kubectl get pod -n kubernetes-dashboard在master节点删除pod使其重新创建 kubectl delete pod kubernetes-dashboard-85f59f8ff7-zhbsd -n kubernetes-dashboard在master节点等待pod重新起来进行测试观察到正常