当前位置: 首页 > news >正文

产品网站策划书方案石家庄房价

产品网站策划书方案,石家庄房价,长春市制作网站费用,在线ps图片制作#服务器 #部署 #云原生 #k8s 一、 前言 一、ubuntu20.04上搭建containerd版#xff08; 1.2.4 以上#xff09;k8s及kuboard V3 接上文中#xff0c;我们已经部署好了单节点master的k8s集群#xff0c;在生产环境中#xff0c;单节点的master肯定是不行的#xff0c;那…#服务器 #部署 #云原生 #k8s 一、 前言 一、ubuntu20.04上搭建containerd版 1.2.4 以上k8s及kuboard V3 接上文中我们已经部署好了单节点master的k8s集群在生产环境中单节点的master肯定是不行的那么我们如何对master进行集群的拓展呢 对master拓展实际上就是对api-server的拓展只要对其做个负载均衡即可。 本文选型 haproxy keepalive 方案来实现。当然也可以选择 nginx keepalive。 二、 haproxy 介绍 HAProxy是一款专注于负载均衡和代理的高性能软件它的核心功能就是负载均衡能够有效地将来自客户端的请求分发到多个后端节点。 为什么选用 haproxy 而不是 nginx HAProxy主要专注于高可用性和负载均衡将客户端请求分发到多个服务器以实现高性能和高可用性的应用部署。Nginx也可以用作反向代理和负载均衡但它更广泛地被用于作为静态内容服务器和应用服务器同时还能提供缓存、SSL终止等功能。HAProxy提供了丰富的负载均衡算法可以根据需求选择合适的算法例如加权轮询、最少连接、源IP哈希等以更好地适应不同的应用场景。Nginx在负载均衡算法方面的选择相对较少。 这并不是说Nginx不适合用于Kubernetes集群的Master节点而是在这个特定的场景下HAProxy由于其专注性、负载均衡算法和高可用性特点更容易满足Master节点集群的需求。 三、keepalive 介绍 Keepalived 是一个用于实现高可用性和故障转移的开源工具它通常与负载均衡器如HAProxy等配合使用以确保在集群中的服务器或服务发生故障时能够实现快速的切换和恢复从而保证服务的持续可用性。 为什么有haproxy还需要keepalive 尽管HAProxy可以实现负载均衡但在发生主节点故障时单独的HAProxy实例可能需要一些时间来进行重新配置和重新分发请求。Keepalived则提供了一种快速的故障切换机制它能够迅速检测到主节点的失效并将虚拟IPVIP迁移到备用节点实现几乎无感知的故障转移。 四、实操 假设master的机子ip为192.168.16.200201202 worker的机子192.168.16.203192.168.16.204192.168.16.205 虚拟ip为192.168.16.210 虚拟 IP 地址应该是网络上可用的、未被分配的并且适合你要实现的服务或应用。在配置中你会将这个虚拟 IP 地址列入 virtual_ipaddress 配置项中使 Keepalived 的 MASTER 实例能够在活动时绑定并使用它。vim /etc/hosts将虚拟ip加入到hosts文件中 192.168.16.200 k8s-master1 192.168.16.201 k8s-master2 192.168.16.202 k8s-master3 192.168.16.203 k8s-node1 192.168.16.204 k8s-node2 192.168.16.205 k8s-node3 #将虚拟ip加入到hosts文件中 192.168.16.210 k8s-cluster在不同的机子上 设置各自的hostname hostname k8s-master1 hostname k8s-master2 hostname k8s-master3 hostname k8s-node1 hostname k8s-node2 hostname k8s-node31、haproxy 1安装haproxy 在所有master机子上安装haproxy sudo apt-get update sudo apt-get install -y haproxy2编辑haproxy的配置文件 sudo vim /etc/haproxy/haproxy.cfg在配置文件最下方加入 两个监听器 #配置了一个监听器用于提供统计信息和管理界面。 listen admin_stats bind 0.0.0.0:1080 mode http log 127.0.0.1 local0 err stats refresh 30s stats uri /status #管理界面的访问路径 stats realm welcome login\ Haproxy stats auth admin:admin #登录认证 stats hide-version stats admin if TRUE#配置了一个监听器用于转发流量到Kubernetes主节点。 listen kube-master bind 0.0.0.0:8443 #负载均衡的端口为8848 mode tcp option tcplog balance source server 192.168.16.200 192.168.16.200:6443 check inter 2000 fall 2 rise 2 weight 1 server 192.168.16.201 192.168.16.201:6443 check inter 2000 fall 2 rise 2 weight 1 server 192.168.16.202 192.168.16.202:6443 check inter 2000 fall 2 rise 2 weight 13)设置开机启动并进入管理界面 systemctl enable haproxy systemctl restart haproxy查看haproxy页面 http://192.168.16.200:1080/status 账号/密码 admin/admin 由于还没初始化k8s的master, 这里其余两台都还不可用。 2、keepalive 1安装keepalive 在所有master机子上安装keepalive apt-get install -y keepalived2编辑keepalive的配置文件 查看可用的网卡 ip addr我的是ens33 ![[Pasted image 20230823231343.png]] vim /etc/keepalived/keepalived.confmaster1 (192.168.16.200) global_defs {script_user root router_id k8s-lb enable_script_security }vrrp_script check-haproxy { script /usr/bin/killall -0 haproxy interval 5 weight -30 }vrrp_instance VI-kube-master { state MASTER #200为主节点 priority 120 #主节点权重要大点 dont_track_primary interface ens33 #上面的网卡 virtual_router_id 80 advert_int 3 track_script { check-haproxy } virtual_ipaddress { 192.168.16.210 } }master2 (192.168.16.201) master3 (192.168.16.202) global_defs {script_user root router_id k8s-lb enable_script_security }vrrp_script check-haproxy { script /usr/bin/killall -0 haproxy interval 5 weight -30 }vrrp_instance VI-kube-master { state BACKUP #设置为从节点 priority 110 dont_track_primary interface ens33 #上面的网卡 virtual_router_id 68 advert_int 3 track_script { check-haproxy } virtual_ipaddress { 192.168.16.210 } }3)依次在master1 master2 master3 上启动 systemctl enable keepalived systemctl start keepalived systemctl status keepalivedkeepalived启动成功之后在master1上通过ip addr可以看到vip(192.168.16.210)已经绑定到ens33这个网卡上了 ![[Pasted image 20230823231446.png]] 3、k8s master集群拓展 1以下操作在master1执行 备份一下之前k8s master的配置文件 mv init-default.yaml init-default.yaml.bak vim init-default.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.16.200bindPort: 6443 nodeRegistration:criSocket: unix:///var/run/containerd/containerd.sockimagePullPolicy: IfNotPresentname: k8s-master1 #这里是机子的hosttaints: null --- apiServer:timeoutForControlPlane: 4m0scertSANs:- k8s-cluster- k8s-master1- k8s-master2- k8s-master3- k8s-node1- k8s-node2- k8s-node3 apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd:local:dataDir: /var/lib/etcd imageRepository: registry.aliyuncs.com/google_containers kind: ClusterConfiguration kubernetesVersion: 1.27.4 #根据实际版本修改 networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12podSubnet: 10.244.0.0/16 scheduler: {} controlPlaneEndpoint: k8s-cluster:8443 --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration cgroupDriver: systemd --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs主要修改的部分 controlPlaneEndpoint 为控制面设置一个稳定的 IP 地址或 DNS 名称。 controlPlaneEndpoint: k8s-cluster:8443设置 API 服务器签署证书所用的额外主题替代名 certSANs:- k8s-master1- k8s-master2- k8s-master3- k8s-node1- k8s-node2 - k8s-node3将k8s集群的host都加入到certSANs中因为我只有三台服务器所以node1和node2其实也是master2和master3。按你实际的服务器情况修改即可。 当前ubuntu系统默认开启了ipvs, 后续k8s部署的kube-proxy组件将会使用ipvs模式提高转发效率。 --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs重新初始化master #重置初始化 kubeadm reset -f #配置kubetl rm -rf /root/.kube/ mkdir -p /root/.kube/sudo kubeadm init --upload-certs --configinit-default.yaml --ignore-preflight-errorsall跟第一章一样看到token信息拷贝保存一下 master的join命令 kubeadm join k8s-cluster:8443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:8ae4635e544e225c19a0b303a75de62169a910c6d44095903340526f0fdd2c2d \--control-plane --certificate-key 7dbedbba04cb0f5582ecb06ef78eabfe587de17f4393fe38fd772c5573e66d3dworker的join命令 kubeadm join k8s-cluster:8443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:8ae4635e544e225c19a0b303a75de62169a910c6d44095903340526f0fdd2c2d执行以下命令 export KUBECONFIG/etc/kubernetes/admin.conf mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config检查是否有启动成功 curl -k https://k8s-cluster:8443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout10s重新安装flannel wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml#如果你修改了podCIDR yml中也要修改 export POD_SUBNET10.244.0.0/16 sed -i s#10.244.0.0/16#${POD_SUBNET}# kube-flannel.yml kubectl apply -f kube-flannel.yml使用以下命令查看镜像拉取状态pending可能是还在下载镜像 watch kubectl get pods -n kube-system -o wide等全部镜像变成RUNNING状态后master状态也会变成Ready kubectl get nodes2master2、master3加入集群 安装k8s 第一章已经安装过了这里就不重复了 重新初始化节点的信息 由于我之前这两台服务器上初始过worker所以重新清除掉 #重置初始化 kubeadm reset -f #配置kubetl rm -rf /root/.kube/ mkdir -p /root/.kube/master2 master3加入集群 kubeadm join k8s-cluster:8443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:8ae4635e544e225c19a0b303a75de62169a910c6d44095903340526f0fdd2c2d \--control-plane --certificate-key 7dbedbba04cb0f5582ecb06ef78eabfe587de17f4393fe38fd772c5573e66d3d赋予权限 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config检查状态全部READY kubectl get nodes进入haproxy查看集群状态 http://192.168.16.210:1080/status 全部正常启动 3worker集群重新加入master kubeadm join k8s-cluster:8443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:8ae4635e544e225c19a0b303a75de62169a910c6d44095903340526f0fdd2c2d在master1上检查状态 kubectl get nodes -o wide kubectl get pods --all-namespaces -o wide至此整个k8s多master的环境就部署好啦
http://www.zqtcl.cn/news/498241/

相关文章:

  • 电子商务个人网站可以备案吗短网址还原
  • 网站内容由什么组成部分组成部分电子商务网站建设主管的策划书
  • 云服务器安装win系统做网站seo三人行论坛
  • 电气网站设计机械设计软件solidworks
  • 内网网站建设所需硬件设备厦门关键词排名提升
  • 网站动态海报效果怎么做的最专业网站建
  • 学校如何建设网站北京市住房及城乡建设部网站
  • 响应式网站制作流程全国城建培训中心官网查询证书
  • 北京工程建设信息网站中国市场网
  • xml做网站源码免费网站是
  • 中国工商建设标准化协会网站织梦app网站模板
  • 怎么做好网络销售文大侠seo博客
  • wish网站应该怎么做网站建设前规划
  • 网站建设目的是什么建筑机械人才培训网官网
  • 建筑建设行业网站大型购物网站开发
  • 手机网站开发用什么设计之家网
  • 网站开发平台有哪些什么是网络开发
  • 学校网站前置审批网站做哪些比较有意思
  • 怎么给企业做网站学计算机网站建设
  • 网站关键词优化排名技巧aiyuan wordpress
  • 建设工程资质证书二维码扫描网站自己做的网站如何让qq登录
  • 网站域名有效期wordpress 特别慢
  • 建立个人网站服务器如何用dedecms做网站
  • php网站开发实市场推广策略 包括哪些
  • 合众商道网站开发可以投稿的写作网站
  • 北京贸易公司网站制作免费的查企业的网站
  • 网站建设报价表模板下载小程序怎么找出来
  • 网站制作简单协议wordpress快速建站教程视频教程
  • 杭州做网站价格北京企业响应式网站建设
  • 30个成功的电子商务网站设计中企动力 网站报价