网站建设项目分析报告,wordpress禁止评论昵称外链,搭建dede网站服务器,网站 图文混编Kuebernetes 群集基于 Docker 部署 实验报告资源列表基础环境一、准备 Docker1、安装 Docker 二、安装 Kubeadm 工具1、配置 yum 源2、安装 Kubeadm 工具 三、初始化 Master 节点1、配置 Master 节点2、常见故障 四、Node 节点加入集群五、部署网络插件#xff08;CNI#xf… Kuebernetes 群集基于 Docker 部署 实验报告资源列表基础环境一、准备 Docker1、安装 Docker 二、安装 Kubeadm 工具1、配置 yum 源2、安装 Kubeadm 工具 三、初始化 Master 节点1、配置 Master 节点2、常见故障 四、Node 节点加入集群五、部署网络插件CNI六、验证1、查看节点状态2、查看集群组件状态3、查看集群中所有命名空间下的 Pod 实验报告
资源列表
主机操作系统IP配置masterCentOS7192.168.72.1312C4Gnode1CentOS7192.168.72.1322C4Gnode2CentOS7192.168.72.1332C4G
基础环境
所有环境都要操作关闭防火墙
systemctl stop firewalld
systemctl disable firewalld关闭内核安全机制
setenforce 0
sed -i s/^SELINUX.*/SELINUXdisabled/g /etc/selinux/config关闭 swap
[rootmaster ~]# free -htotal used free shared buff/cache available
Mem: 3.7G 154M 3.4G 11M 126M 3.3G
Swap: 3.9G 0B 3.9G# 临时关闭
swapoff -a
# 永久关闭
sed -i s/.*swap.*/#/g /etc/fstab [rootmaster ~]# free -htotal used free shared buff/cache available
Mem: 3.7G 152M 3.4G 11M 127M 3.4G
Swap: 0B 0B 0B修改主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2CentOS7已经停止维护了这里我用的是华为源
# 阿里
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 网易
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 华为
curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-anon.repo添加 hosts 解析
cat /etc/hosts EOF
192.168.72.131 master
192.168.72.132 node1
192.168.72.133 node2
EOF时间同步
yum -y install chrony
systemctl enable chronyd --now
systemctl restart chronyd
chronyc sources -v桥接的 IPv4 流量传递到 iptables 的链
modprobe overlay
modprobe br_netfiltercat EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables 1
net.ipv4.ip_forward 1
net.bridge.bridge-nf-call-ip6tables 1
EOF
sysctl --system一、准备 Docker
所有节点都要操作
1、安装 Docker
1.方案一
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i sdownload.docker.commirrors.aliyun.com/docker-ce /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce2.方案二
# 上传软件包 docker-ce-24.0.7.rpm.tar.gz
tar zxf docker-ce-24.0.7.rpm.tar.gz
cd docker-ce-24.0.7.rpm
yum -y localinstall *# 启动服务
systemctl start docker
systemctl enable docker2、配置 Docker
# 设置驱动
cat /etc/docker/daemon.json EOF
{exec-opts: [native.cgroupdriversystemd],registry-mirrors: [https://cf-workers-docker-io-8jv.pages.dev]
}
EOF
systemctl daemon-reload
systemctl restart docker二、安装 Kubeadm 工具
所有节点都要操作
1、配置 yum 源
cat /etc/yum.repos.d/kubernetes.repo EOF
[kubernetes]
nameKubernetes
baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled1
gpgcheck0
repo_gpgcheck0
gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF2、安装 Kubeadm 工具
# 这里指定了版本号若需要其他版本的可自行更改
yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0
systemctl enable kubelet三、初始化 Master 节点
Master 节点操作即可
[rootmaster ~]# ls
anaconda-ks.cfg kubernetes_images_1.23.tar.gz
[rootmaster ~]# docker load kubernetes_images_1.23.tar.gz# --apiserver-advertise-address指定当前节点的IP
# --kubernetes-version指定版本号要与安装的版本一致
kubeadm init \--apiserver-advertise-address192.168.72.131 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.23.0 \--service-cidr10.1.0.0/16 \--pod-network-cidr10.244.0.0/161、配置 Master 节点
# 初始化成功以后要根据提示执行以下3条命令才可以操作集群mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config2、常见故障
# 如果kubelet报以下错误可以尝试执行yum -y install systemd把systemd更新一下
11月 24 16:39:53 master kubelet[24746]: E1124 16:39:53.511808 24746 node_container_manager_linux.go:61] Failed to create cgroup errCannot set property TasksAccounting, or unknown property. cgroupName[kubepods]
11月 24 16:39:53 master kubelet[24746]: E1124 16:39:53.511848 24746 kubelet.go:1431] Failed to start ContainerManager errCannot set property TasksAccounting, or unknown property.# 如果第一次初始化没有成功可以使用kubeadm reset重置一下四、Node 节点加入集群
所有 Node 节点操作
# 在master节点初始化的时候返回信息中最后的命令就是node节点加入集群的命令将该命令复制到node节点执行即可
kubeadm join 192.168.72.131:6443 --token t91n8f.7nk8h1hayi0sqf8h \--discovery-token-ca-cert-hash sha256:6a4340629b2333076a33ff1942e95641179247ae6f4cc6c56539241eaead49a3# 如果加入集群的命令找不到了可以在master节点生成一个
[rootmaster ~]# kubeadm token create --print-join-command五、部署网络插件CNI
Master 节点操作
# 上传 kube-flannel.yaml
[rootmaster ~]# kubectl apply -f kube-flannel.yaml
namespace/kube-flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created六、验证
1、查看节点状态
[rootmaster ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 14m v1.23.0
node1 Ready none 7m36s v1.23.0
node2 Ready none 7m34s v1.23.02、查看集群组件状态
[rootmaster ~]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
etcd-0 Healthy {health:true,reason:}
scheduler Healthy ok 3、查看集群中所有命名空间下的 Pod
[rootmaster ~]# kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-flannel kube-flannel-ds-thq5p 1/1 Running 0 2m12s
kube-flannel kube-flannel-ds-vx8jd 1/1 Running 0 2m12s
kube-flannel kube-flannel-ds-wqsm6 1/1 Running 0 2m12s
kube-system coredns-6d8c4cb4d-5fwct 1/1 Running 0 14m
kube-system coredns-6d8c4cb4d-jph5p 1/1 Running 0 14m
kube-system etcd-master 1/1 Running 0 14m
kube-system kube-apiserver-master 1/1 Running 0 14m
kube-system kube-controller-manager-master 1/1 Running 0 14m
kube-system kube-proxy-5zwhr 1/1 Running 0 7m34s
kube-system kube-proxy-6ntkf 1/1 Running 0 14m
kube-system kube-proxy-psgx4 1/1 Running 0 7m32s
kube-system kube-scheduler-master 1/1 Running 0 14m