如何建设一个网站站,wordpress经典编辑器没有,wordpress网站模板仿站工具,直播开放平台公会文章目录硬件要求可省略的步骤配置虚拟机ip设置阿里镜像源各服务器初始化配置配置主节点的主机名称配置从节点的主机名称配置各节点的Host文件关闭各节点的防火墙关闭selinux永久禁用各节点的交换分区同步各节点的时间将桥接的IPv4流量传递到iptables的链#xff08;三台都执行…
文章目录硬件要求可省略的步骤配置虚拟机ip设置阿里镜像源各服务器初始化配置配置主节点的主机名称配置从节点的主机名称配置各节点的Host文件关闭各节点的防火墙关闭selinux永久禁用各节点的交换分区同步各节点的时间将桥接的IPv4流量传递到iptables的链三台都执行在所有节点安装docker在所有节点安装容器运行时cri-dockerd在所有节点安装 kubenetes相关组件重启虚拟机必要在master节点安装部署k8s master查看国内镜像所有master节点拉取k8s镜像初始化master节点仅在master节点执行在集群中加入node节点仅在node节点执行查看集群节点信息安装集群网络CNI本文选择Calico问题排查使用rancher管理k8s集群更多内容请参考gitee地址参考
Debian11之基于kubeadm安装K8S(v1.26.0) 集群硬件要求
1、Master主机2核CPU、4G内存、20G硬盘 2、Node主机4核CPU、8G内存、40G硬盘 2、集群中的所有机器的网络彼此均能相互连接公网和内网都可以 3、节点之中不可以有重复的主机名、MAC 地址或 product_uuid 4、开启机器上的某些端口 5、为了保证 kubelet 正常工作必须禁用交换分区
可省略的步骤
配置虚拟机ip
ONBOOTyes IPADDR192.168.72.139 NETMASK255.255.255.0 GATEWAY192.168.72.2 DNS18.8.8.8 DNS2114.114.114.114
systemctl restart netowrk设置阿里镜像源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除yum缓存
yum clean all
# 缓存阿里云镜像
yum makecache各服务器初始化配置
配置主节点的主机名称
hostnamectl set-hostname k8smaster hostname # 设置主节点1的主机名称配置从节点的主机名称
hostnamectl set-hostname k8snode01 hostname # 设置从节点1的主机名称配置各节点的Host文件
#根据自己设备ip配置
vi /etc/hosts # 编辑文件注意不能有空格
192.168.111.30 k8smaster
192.168.111.33 k8snode01关闭各节点的防火墙
systemctl disable firewalld systemctl stop firewalld关闭selinux 查看selinux信息 sestatus临时禁用 setenforce 0 永久禁用 1、打开/etc/sysconfig/selinux文件 2、将配置SELinuxenforcing改为SELinuxdisabled vi /etc/sysconfig/selinux
SELINUXdisabled永久禁用各节点的交换分区
swapoff -a sed -i s/.*swap.*/#/ /etc/fstab # 注释掉swap那一行
free -h 查看是分区空间同步各节点的时间
参考 K8S学习笔记之CentOS7集群使用Chrony实现时间同步
yum install chrony -y修改配置文件
vim /etc/chrony.conf
修改时间服务器为阿里云服务器 ntp1.aliyun.com
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp1.aliyun.com iburst启动服务
systemctl enable chronyd.service systemctl start chronyd.service systemctl status chronyd.service每台节点查看时间是否一致
date 将桥接的IPv4流量传递到iptables的链三台都执行
vim /etc/sysctl.d/k8s.conf
#写入如下两行的参数
net.bridge.bridge-nf-call-ip6tables 1
net.bridge.bridge-nf-call-iptables 1#使配置生效命令
sysctl --system # 生效在所有节点安装docker
参考 centos7安装Docker详细步骤无坑版教程 本次安装docker版本 配置docker参数
vim /etc/docker/daemon.json{exec-opts: [native.cgroupdriversystemd],registry-mirrors: [https://rrnv06ig.mirror.aliyuncs.com,https://reg-mirror.qiniu.com,https://docker.mirrors.ustc.edu.cn]
}#重启docker
systemctl daemon-reload systemctl start docker systemctl enable docker查看docker信息
docker info在所有节点安装容器运行时cri-dockerd
参考centos7 部署 k8s1.25.3 版本 (使用cri-dockerd方式安装)
cri-docker git 地址 https://github.com/Mirantis/cri-dockerd/releases通过rpm安装 rpm -ivh cri-dockerd-0.3.1-3.el7.x86_64.rpm配置cri-docker使用国内镜像 vim /usr/lib/systemd/system/cri-docker.service修改配置如下 ExecStart/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image registry.aliyuncs.com/google_containers/pause:3.9启动服务 systemctl daemon-reload systemctl start cri-docker systemctl enable cri-docker查看服务状态 systemctl status cri-docker
在所有节点安装 kubenetes相关组件
参考k8s–使用 kubeadm 搭建 k8s 1.25.2 版本配置yum 源 vim /etc/yum.repos.d/kubernetes.repo[kubernetes]
nameKubernetes
baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled1
gpgcheck1
repo_gpgcheck1
gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg安装kubeadm、kubelete、kubectl 组件
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet --now重启虚拟机必要
配置完前面的信息之后需要重启虚拟机否则会造成 api-server等容器启动异常
在master节点安装部署k8s master
查看国内镜像 kubeadm config images list --image-repository registry.aliyuncs.com/google_containers所有master节点拉取k8s镜像
kubeadm config images pull --kubernetes-versionv1.26.1 --image-repository registry.aliyuncs.com/google_containers --cri-socket unix:///var/run/cri-dockerd.sockdocker images 查看镜像
初始化master节点仅在master节点执行
初始化命令
kubeadm init --apiserver-advertise-address192.168.72.139 --kubernetes-versionv1.26.1 --pod-network-cidr10.244.0.0/16 --service-cidr10.96.0.0/12 --token-ttl0 --cri-socketunix:///var/run/cri-dockerd.sock --image-repository registry.aliyuncs.com/google_containers --upload-certs --ignore-preflight-errorsall初始化成功之后的打印 按照提示执行如下命令 mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config在集群中加入node节点仅在node节点执行
为了使之前的配置生效重启节点 复制上图中的命令 并且设置cri-socket, 命令如下
kubeadm join 192.168.72.139:6443 --token tbrqt5.e9xje0c0i1vv6b66 --discovery-token-ca-cert-hash sha256:f27da12089c64c1c5611ed5b6e008032e07988cc5fbbf190899314d098cfb0fb --cri-socketunix:///var/run/cri-dockerd.sock查看集群节点信息
在master节点执行如下命令
kubectl get nodes安装集群网络CNI本文选择Calico
参考官网地址https://docs.tigera.io/calico/3.25/getting-started/kubernetes/self-managed-onprem/onpremises 查看calico支持的kubernetes版本信息 https://docs.tigera.io/calico/3.25/getting-started/kubernetes/requirements
安装 calico 遇到的问题以及解决方法 遇到上述报错表示calico版本和k8s版本不匹配 可根据上述步骤下载对应的calico版本可以先下载如下版本的镜像
calico/node v3.25.0
calico/pod2daemon-flexvol v3.25.0
calico/cni v3.25.0
calico/kube-controllers v3.25.0 安装calico网络步骤按照官网的步骤执行如下两条命令
curl https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml -O
kubectl apply -f calico.yaml结果如下
此时查看集群信息
kubectl get nodes查看pod信息
kubectl get pods -A 此时集群状态变成Ready表示calico已经成功安装
步步踩坑啊-------------------------奖励自己不放弃哈哈哈
问题排查
1、在安装calico网络之前coredns一直处于pending状态
查看coredns的配置文件命令 kubectl edit cm coredns -n kube-system查看集群中的所有pod命令 kubectl get pods -A查看pod pending状态原因,括号中内容是参数 kubectl describe/delete/logs pod (name) -n (namespace)查看集群节点信息 kubectl get nodes 结论coredns只有在网络安装成功之后才能够被调度到节点上运行 2、calico的pod一直处于拉取镜像失败问题导致网络一直不好 解决手动下载calico的docker镜像到所有节点 calico/kube-controllers v3.25.0 5e785d005ccc 5 weeks ago 71.6MB calico/cni v3.25.0 d70a5947d57e 5 weeks ago 198MB calico/pod2daemon-flexvol v3.25.0 ed8b7bbb113f 5 weeks ago 14.6MB calico/node v3.25.0 08616d26b8e7 5 weeks ago 245MB
例子docker pull calico/cni:v3.25.0所有pod都正常运行 节点状态变成Ready
使用rancher管理k8s集群
docker打包镜像和容器
Rancher中导入新搭建的Kubernetes集群 通过kubelet下载镜像失败问题更换docker镜像源解决
{exec-opts: [native.cgroupdriversystemd],registry-mirrors: [https://registry.docker-cn.com,http://hub-mirror.c.163.com,https://rrnv06ig.mirror.aliyuncs.com,https://reg-mirror.qiniu.com,https://docker.mirrors.ustc.edu.cn]
}
添加成功之后集群状态是Active
更多内容请参考gitee地址
创作不易觉得内容不错的可以点个start感谢支持 gitee地址https://gitee.com/full-stack-learn/fs/