怎样做网站公司做百度推广的业务员电话
news/
2025/9/27 13:49:21/
文章来源:
怎样做网站公司,做百度推广的业务员电话,wordpress公告,长宁做网站价格kubeadm安装k8s1.25版本集群步骤 环境说明实验环境规划集群搭建规划 初始化安装k8s集群的实验环境安装虚拟机更新yum源和操作系统配置机器主机名配置主机hosts文件#xff0c;相互之间通过主机名互相访问配置主机之间无密码登录关闭交换分区swap#xff0c;提升性能修改机器内… kubeadm安装k8s1.25版本集群步骤 环境说明实验环境规划集群搭建规划 初始化安装k8s集群的实验环境安装虚拟机更新yum源和操作系统配置机器主机名配置主机hosts文件相互之间通过主机名互相访问配置主机之间无密码登录关闭交换分区swap提升性能修改机器内核参数关闭firewalld防火墙配置阿里云的repo源配置安装k8s组件需要的阿里云的repo源配置时间同步安装基础软件包 安装containerd服务安装docker服务配置containerd、docker镜像加速器 安装初始化k8s需要的软件包kubeadm初始化k8s集群基于kubeadm.yaml初始化k8s集群扩容k8s集群-添加第一个工作节点安装kubernetes网络组件-Calico 记录在刚搭建的3个虚拟机里成功安装K8S1.25版本集群的步骤 由于是成功创建后才记录的博客只记录了操作步骤过程中执行命令后的截图会有部分缺失或者换成了文字。 环境说明
实验环境规划
操作系统centos7.9 每个服务器配置 4Gib内存/4vCPU/80G硬盘 网络NAT模式
集群搭建规划
K8S集群角色IP主机名安装的组件控制节点192.168.40.182k8s-master1apiserver、controller-manager、schedule、kubelet、etcd、kube-proxy、containerd、calico工作节点192.168.40.183k8s-node1Kube-proxy、calico、coredns、containerd、kubelet工作节点92.168.40.184k8s-node2Kube-proxy、calico、coredns、containerd、kubelet
初始化安装k8s集群的实验环境
安装虚拟机
安装虚拟机步骤见 链接: Windows安装配置VMware 主要是 1、修改机器IP变成静态IP 2、关闭selinux 3、建议自用的话3个服务器root的登录密码设置一致方面后面的操作
更新yum源和操作系统
ps. 3个服务器里都执行
yum update -y查看操作系统
cat /etc/redhat-release执行结果显示CentOS Linux release 7.9.2009 (Core)
配置机器主机名
在192.168.40.182上执行
hostnamectl set-hostname k8s-master1 bash在192.168.40.183上执行
hostnamectl set-hostname k8s-node1 bash在192.168.40.184上执行
hostnamectl set-hostname k8s-node2 bash配置主机hosts文件相互之间通过主机名互相访问
修改每台服务器的/etc/hosts文件文件最后增加如下内容 ps. 文件里原有的配置不要动
192.168.40.182 k8s-master1
192.168.40.183 k8s-node1
192.168.40.184 k8s-node2配置主机之间无密码登录
ps. 以下命令3个服务器里都执行
1、配置到其他机器免密登录
ssh-keygenps. 以上命令执行后一路回车不输入密码
2、把本地生成的密钥文件和私钥文件拷贝到远程主机
ssh-copy-id k8s-master1以上命令执行后输入“yes”然后按提示输入k8s-master1服务器的登录密码
ssh-copy-id k8s-node1以上命令执行后输入“yes”然后按提示输入k8s-node1服务器的登录密码
ssh-copy-id k8s-node2以上命令执行后输入“yes”然后按提示输入k8s-node2服务器的登录密码
关闭交换分区swap提升性能
ps. 以下命令3个服务器里都执行
swapoff -a永久关闭注释swap挂载给swap这行开头加一下注释
vi /etc/fstab为什么要关闭swap交换分区 Swap是交换分区如果机器内存不够会使用swap分区但是swap分区的性能较低k8s设计的时候为了能提升性能默认是不允许使用交换分区的。Kubeadm初始化的时候会检测swap是否关闭如果没关闭那就初始化失败。如果不想要关闭交换分区安装k8s的时候可以指定–ignore-preflight-errorsSwap来解决。 修改机器内核参数
ps. 以下命令3个服务器里都执行
modprobe br_netfiltercat /etc/sysctl.d/k8s.conf EOF
net.bridge.bridge-nf-call-ip6tables 1
net.bridge.bridge-nf-call-iptables 1
net.ipv4.ip_forward 1
EOFsysctl -p /etc/sysctl.d/k8s.conf关闭firewalld防火墙
ps. 3个服务器里都执行
systemctl stop firewalld systemctl disable firewalld配置阿里云的repo源
ps. 以下命令3个服务器里都执行
yum install yum-utils -y配置国内安装docker和containerd的阿里云的repo源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo配置安装k8s组件需要的阿里云的repo源
ps.以下命令 3个服务器里都执行
cat /etc/yum.repos.d/kubernetes.repo EOF
[kubernetes]
nameKubernetes
baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled1
gpgcheck0
EOF配置时间同步
ps. 以下命令3个服务器里都执行
安装ntpdate命令
yum install ntpdate -y跟网络时间做同步
ntpdate cn.pool.ntp.org把时间同步做成计划任务
crontab -e写入
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org重启crond服务
service crond restart安装基础软件包
ps. 3个服务器里都执行
yum install -y device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack telnet ipvsadm安装containerd服务
ps. 以下命令3个服务器里都执行
yum install -y containerd.io-1.6.6接下来生成 containerd 的配置文件
mkdir -p /etc/containerdcontainerd config default /etc/containerd/config.toml修改配置文件
vim /etc/containerd/config.tomlconfig.toml文件里的修改点 1、把SystemdCgroup false 修改成 true 2、把sandbox_image “k8s.gcr.io/pause:3.6” 修改成“registry.aliyuncs.com/google_containers/pause:3.7” 改后如图相关文件的片段非整个文件的内容 配置 containerd 开机启动并启动 containerd
systemctl enable containerd --now修改/etc/crictl.yaml文件
cat /etc/crictl.yaml EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOFsystemctl restart containerd安装docker服务
docker跟containerd不冲突安装docker是为了能基于dockerfile构建镜像 ps. 以下命令3个服务器里都执行
yum install docker-ce -ysystemctl enable docker --now配置containerd、docker镜像加速器
ps. 以下命令3个服务器里都执行
vim /etc/containerd/config.tomlconfig.toml文件里的修改点找到config_path “”修改成 config_path “/etc/containerd/certs.d”
mkdir /etc/containerd/certs.d/docker.io/ -pvim /etc/containerd/certs.d/docker.io/hosts.toml写入如下内容
[host.https://vh3bm52y.mirror.aliyuncs.com,host.https://registry.docker-cn.com]capabilities [pull]重启containerd
systemctl restart containerd配置docker镜像加速器
vim /etc/docker/daemon.json写入如下内容
{registry-mirrors:[https://vh3bm52y.mirror.aliyuncs.com,https://registry.docker-cn.com,https://docker.mirrors.ustc.edu.cn,https://dockerhub.azk8s.cn,http://hub-mirror.c.163.com]
} ps. 也可以在服务器节点上配置好再远程拷贝到其他服务节点上如下在k8s-master节点上执行 scp daemon.json k8s-node1:/etc/docker/
scp daemon.json k8s-node2:/etc/docker/重启docker
systemctl restart docker安装初始化k8s需要的软件包
ps. 以下命令3个服务器里都执行
yum install -y kubelet-1.25.0 kubeadm-1.25.0 kubectl-1.25.0systemctl enable kubelet注每个软件包的作用
Kubeadm: kubeadm是一个工具用来初始化k8s集群的kubelet: 安装在集群所有节点上用于启动Podkubeadm安装k8s控制节点和工作节点的组件kubectl: 通过kubectl可以部署和管理应用查看各种资源创建、删除和更新各种组件
kubeadm初始化k8s集群
ps. 仅在master节点的服务器上执行
kubeadm config print init-defaults kubeadm.yaml通过kubeadm config print init-defaults命令生成kubeadm.yaml文件根据自己的需求修改配置比如修改 imageRepository的值kube-proxy 的模式为ipvs需要注意的是由于本次使用的containerd作为运行时所以在初始化节点的时候需要指定cgroupDriver为systemd vim kubeadm.yaml修改配置文件修改地方用#标注了。仅改动标注部分其他保持生成后的不变
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.40.182 #控制节点master节点的ipbindPort: 6443
nodeRegistration:criSocket: unix:///run/containerd/containerd.sock #指定containerd容器运行时/etc/crictl.yaml里的runtime-endpointimagePullPolicy: IfNotPresentname: k8s-master1 #控制节点主机名taints: null
---
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers # 指定阿里云镜像仓库地址
kind: ClusterConfiguration
kubernetesVersion: 1.25.0 #k8s版本
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16 # 新增加的配置指定pod网段serviceSubnet: 10.96.0.0/12 # 指定Service网段
scheduler: {}
#在文件最后插入以下内容复制时要带着---
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd基于kubeadm.yaml初始化k8s集群
k8s镜像下载很慢有时候会失败提供了镜像的压缩文件可以通过导入获取镜像。 文件放在了网盘里可自取
链接: https://pan.baidu.com/s/1uDSPp1AkcvVxBzL57dWeBQ 提取码: ixhg
以下命令3个服务器里都执行
ctr -nk8s.io images import k8s_1.25.0.tar.gzk8s_1.25.0.tar.gz这个文件如何来的 这个文件把安装k8s需要的镜像都集成好了通过ctr images export 这个命令把镜像输出到k8s_1.25.0.tar.gz文件。 如: ctr -nk8s.io images export k8s_1.25.tar.gz docker.io/calico/node:v3.18.0 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.9.3 以上多个镜像用 空格 隔开 如果需安装其他版本那就不需要实现解压镜像可以从网络拉取镜像即可
ctr是containerd自带的工具有命名空间的概念若是k8s相关的镜像都默认在k8s.io这个命名空间所以导入镜像时需要指定命令空间为k8s.io
查看镜像
ctr -nk8s.io images lsps. 仅在master节点的服务器上执行
kubeadm init --configkubeadm.yaml --ignore-preflight-errorsSystemVerification看到类似返回表示执行成功 配置kubectl的配置文件config相当于对kubectl进行授权这样kubectl命令可以使用这个证书对k8s集群进行管理
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config扩容k8s集群-添加第一个工作节点
在k8s-master1上查看加入节点的命令
kubeadm token create --print-join-command获取到返回的命令我当时的是
kubeadm join 192.168.40.182:6443 --token pmm98c.whu5zvft6y1g1e2c --discovery-token-ca-cert-hash sha256:ff5a016ba790353d8d9cf2c46c3d6cbaeeba81c12503fb514f9a7f8ff17667c2将返回的命令后面加上“–ignore-preflight-errorsSystemVerification” 分别在node1和node2中执行
我当时执行的是 [rootk8s-node1~]# kubeadm join 192.168.40.180:6443 --token vulvta.9ns7da3saibv4pg1 --discovery-token-ca-cert-hash sha256:72a0896e27521244850b8f1c3b600087292c2d10f2565adb56381f1f4ba7057a --ignore-preflight-errorsSystemVerification
看到下面图片响应的说明k8s-node1节点已经加入到集群了,充当工作节点了 在k8s-master1上执行下面命令查看集群节点状况
kubectl get nodes当时返回的如图 对k8s-node1打个标签显示work
kubectl label nodes k8s-node1 node-role.kubernetes.io/workworkkubectl label nodes k8s-node2 node-role.kubernetes.io/workworkkubectl get nodes为什么在工作节点运行kubectl报错 [rootk8s-node1 ~]# kubectl get nodes The connection to the server localhost:8080 was refused - did you specify the right host or port? 因为在工作节点上没有$HOME/.kube/config文件。 在工作节点上执行kubectl的步骤如下 分别在node1和node2中执行
mkdir $HOME/.kube/在master节点中执行
scp /root/.kube/config k8s-node1:/root/.kube/分别在node1和node2中执行
kubectl get nodes安装kubernetes网络组件-Calico
把安装calico需要的镜像calico.tar.gz在上面提供的网盘里传到3个服务器上上传后执行 ps. 以下命令3个服务器里都执行
ctr -nk8s.io images import calico.tar.gz上传calico.yaml在上面提供的网盘里到master节点上使用yaml文件安装calico 网络插件
kubectl apply -f calico.yaml注在线下载配置文件地址是 https://docs.projectcalico.org/manifests/calico.yaml
以上安装结束最后的截图如下
kubectl get nodes
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919542.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!