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

济南模板网站设计上海网站开发哪里有

济南模板网站设计,上海网站开发哪里有,办公室工作绩效 网站建设,诸城手机网站建设在上一篇文章中#xff0c;就已经完成了二进制k8s集群部署的搭建#xff0c;但是单机master并不适用于企业的实际运用#xff08;因为单机master中#xff0c;仅仅只有一台master作为节点服务器的调度指挥#xff0c;一旦宕机。就意味着整个集群的瘫痪#xff0c;所以成熟…在上一篇文章中就已经完成了二进制k8s集群部署的搭建但是单机master并不适用于企业的实际运用因为单机master中仅仅只有一台master作为节点服务器的调度指挥一旦宕机。就意味着整个集群的瘫痪所以成熟的k8s的集群一定要考虑到master的高可用。企业的运用一般至少存在两台master及其以上的部署本次将根据前面的部署再添加一台master三个master或者更多也可以根据本次添加步骤重复添加。添加master后我们会将借助keepalivednginx的架构来实现高可用的master【也可以使用haproxykeepalived或则是keepalivedlvs不推荐步骤过于复杂 本次部署的架构组件  mater节点mater01192.168.73.100kube-apiserver kube-controller-manager kube-scheduler master02192.168.73.130kube-apiserver kube-controller-manager kube-scheduler                                                                    node节点node01192.168.73.110kubelet kube-proxy docker 容器引擎node02192.168.73.120kubelet kube-proxy docker 容器引擎                                                              etcd  cluster集群etcd节点1192.168.73.100mater01etcdetcd节点2192.168.73.110node01etcdetcd节点3192.168.73.120node02etcd                                                       load balance高可用调度器主调度器192.168.73.140nginxkeepalived从调度器192.168.73.150nginxkeepalived 架构说明 node节点的kubelet只能对接一个master节点的apiserver不可能同时对接多个master节点的apiserver。简而言之node节只能有一个master来领导。 kubelet和kube-proxy是通过kubelet.kubeconfig和kube-proxy.kubeconfig文件中的server参数进行对接 master节点的。 所以在多master节点的环境下需要有nginx负载均衡器来进行调度而且需要进行keepalived高可用的构建(主从两个节点) 防止主节点宕机导致整个k8s集群的不可用。 一、新master节点的搭建 1.1 对master02 进行初始化配置 #关闭防火墙 systemctl stop firewalld systemctl disable firewalld iptables -F iptables -t nat -F iptables -t mangle -F iptables -X#关闭selinux setenforce 0 sed -i s/enforcing/disabled/ /etc/selinux/config#关闭swap swapoff -a sed -ri s/.*swap.*/#/ /etc/fstab #根据规划设置主机名 hostnamectl set-hostname master02 su #在master添加hosts(添加到整个k8s集群的主机上保证其他主机均有该映射) cat /etc/hosts EOF 192.168.73.105 master01 192.168.73.110 master02 192.168.73.106 node01 192.168.73.107 node02 EOF#调整内核参数 cat /etc/sysctl.d/k8s.conf EOF #开启网桥模式可将网桥的流量传递给iptables链 net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 #关闭ipv6协议 net.ipv6.conf.all.disable_ipv61 net.ipv4.ip_forward1 EOFsysctl --system#时间同步 yum install ntpdate -y ntpdate ntp.aliyun.com#将时间同步的操作添加到计划性任务确保所有节点保证时间的同步 crontab -e */30 * * * * /usr/sbin/ntpdate ntp.aliyun.com crontab -l 1.2  将master01的配置移植到master02  ##------------ 1、 master01节点拷贝文件到master02 -------------------------------#从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点scp -r etcd/ master02:pwdscp -r kubernetes/ master02:pwdscp /usr/lib/systemd/system/kube-* master02:/usr/lib/systemd/system/scp -r /root/.kube/ master02:/root/​ ##----------- 2、 master02节点修改配置文件并启动相关服务-------------------------#修改配置文件kube-apiserver中的IPvim /opt/kubernetes/cfg/kube-apiserverKUBE_APISERVER_OPTS--logtostderrtrue \ #输出日志false表示标准错误不输出到屏幕而是输出到日志中。true表示标准错误会输出到屏幕。--v4 \ #日志级别--etcd-servershttps://192.168.73.105:2379,https://192.168.73.106:2379,https://192.168.73.107:2379 \ #etcd节点的IP通信地址--bind-address192.168.73.110 \ #修改当前绑定的内网IP监听的地址--secure-port6443 \ #基于HPPTS开放端口--advertise-address192.168.73.110 \ #修改内网通告地址让其他node节点地址通信......vim kube-controller-managervim kube-scheduler​#在 master02 节点上启动各服务并设置开机自启systemctl enable --now kube-apiserver.servicesystemctl enable --now kube-controller-manager.servicesystemctl enable --now kube-scheduler.service​#将可执行文件创建软链接ln -s /opt/kubernetes/bin/* /usr/local/bin/​#查看node节点状态kubectl get nodeskubectl get nodes -o wide #-owide输出额外信息对于Pod将输出Pod所在的Node名#此时在master02节点查到的node节点状态仅是从etcd查询到的信息而此时node节点实际上并未与master02节点建立通信连接因此需要使用一个VIP把node节点与master节点都关联起来 二、负载均衡的部署  #配置load balancer集群双机热备负载均衡nginx实现负载均衡keepalived实现双机热备​#----------------- 1、两台负载均衡器配置nginx -------------------------------------​#配置nginx的官方在线yum源配置本地nginx的yum源 cat /etc/yum.repos.d/nginx.repo EOF [nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgcheck0 EOF​yum install nginx -y​#修改nginx配置文件配置四层反向代理负载均衡指定k8s群集2台master的节点ip和6443端口vim /etc/nginx/nginx.confevents {worker_connections 1024;}​#添加stream {log_format main $remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent;access_log /var/log/nginx/k8s-access.log main;​upstream k8s-apiserver {server 192.168.73.105:6443; #master01server 192.168.73.110:6443; #master02}server {listen 6443;proxy_pass k8s-apiserver;}}​http {......​​#检查配置文件语法nginx -t ​#启动nginx服务查看已监听6443端口systemctl start nginxsystemctl enable nginxss -lntp|grep nginx ​​ #------------------ 2、两台负载均衡器配置keepalived ------------------------------​#部署keepalived服务yum install keepalived -y​#修改keepalived配置文件vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id nginx_master }vrrp_script check_nginx {script /etc/nginx/check_nginx.sh #指定检测脚本的路径并且该脚本充当心跳检测脚本 }vrrp_instance VI_1 {state MASTER #指定状态为master节点109为BACKUP备用节点interface ens33virtual_router_id 51priority 100 #108优先级为100 109为90优先级决定着主备的位置advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.73.66}track_script {check_nginx #追踪脚本的进程} }#将该文件 发送给备用调度器并且将其中的配置修改为备用调度器的属性 cd /etc/keepalived/ scp keepalived.conf root192.168.73.109:pwd​​ #创建nginx状态检查脚本 vim /etc/nginx/check_nginx.sh#!/bin/bash killall -0 nginx /dev/null if [ $? -ne 0 ];thensystemctl stop keepalived fi​chmod x /etc/nginx/check_nginx.sh #为脚本增加执行权限#将该脚本发送给备用调度器 cd /etc/nginx scp check_nginx.conf root192.168.73.109:pwd​#两台主备调度器启动keepalived服务一定要先启动了nginx服务再启动keepalived服务systemctl start keepalivedsystemctl enable keepalivedip addr #查看主节点的VIP是否生成​ nginx心跳检测脚本说明 killall -0 可以用来检测程序是否执行 如果服务未执行的情况下 会进行报错 并且 $?的返回码 为非0值  vim /etc/keepalived/keepalived.conf scp /etc/keepalived/keepalived.conf 192.168.136.150:/etc/keepalived/ systemctl enable --now keepalived.service systemctl status keepalived.service systemctl restart nginx keepalived.service ip a #---------------- 3、关闭主节点的nginx服务模拟故障测试keepalived-----------------------​#关闭主节点lb01的Nginx服务模拟宕机观察VIP是否漂移到备节点systemctl stop nginxip addrsystemctl status keepalived #此时keepalived被脚本杀掉了 ​#备节点查看是否生成了VIPip addr #此时VIP漂移到备节点lb02​ //修改所有node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP[rootnode01 /opt/kubernetes/cfg]#vim bootstrap.kubeconfig [rootnode01 /opt/kubernetes/cfg]#vim kubelet.kubeconfig [rootnode01 /opt/kubernetes/cfg]#vim kube-proxy.kubeconfig//重启node节点kubelet和kube-proxy服务 systemctl restart kubelet.service systemctl restart kube-proxy.service //在 lb01 上查看 nginx 和 node 、 master 节点的连接状态 netstat -natp | grep nginx 三、k8s的web UI界面的搭建  //在 master01 节点上操作 #上传 recommended.yaml 文件到 /opt/k8s 目录中部署 CoreDNS cd /opt/k8s vim recommended.yaml #默认Dashboard只能集群内部访问修改Service为NodePort类型暴露到外部 kind: Service apiVersion: v1 metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard spec:ports:- port: 443targetPort: 8443nodePort: 30001 #添加type: NodePort #添加selector:k8s-app: kubernetes-dashboard#通过recommended.yaml资源配置清单使用kubectl apply创建资源-f指定资源配置清单文件kubectl apply -f recommended.yaml#创建service account并绑定默认cluster-admin管理员集群角色 kubectl create serviceaccount dashboard-admin -n kube-systemkubectl create clusterrolebinding dashboard-admin --clusterrolecluster-admin --serviceaccountkube-system:dashboard-admin#获取token值 kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk /dashboard-admin/{print $1})#使用输出的token登录Dashboard访问node节点 https://192.168.136.110:30001
http://www.pierceye.com/news/954858/

相关文章:

  • 潍坊seo网站推广北京南站地铁线路图
  • 投资网站排行军事最新新闻播报
  • 梅州建设网站丰台网页设计公司
  • 短期网站建设培训学校网页建站价格
  • 偏门网站建设做的网站被挂马
  • 三五互联网站自己做一个网站需要什么
  • wordpress博客网站深圳建工集团
  • 罗永浩做的网站房产网站设计方案
  • 创建个人网站多少钱模板速成网站
  • 晋江做网站的公司哪家好企业网站报价
  • 百度权重查询网站旅游公司的网站怎么做
  • 品牌网站建设小蝌蚪2a西安中交建设集团网站
  • 潍坊网页网站制作优畅 wordpress
  • 搜狗收录网站网站制作费用预算表
  • dede网站安全长沙营销型
  • 那些做电影视频网站的赚钱吗邯郸网站建设方案
  • 在线做app的网站wordpress 产品分类
  • seo网站建设规划网站模板视频教程
  • 沈阳网站制作策划wordpress 文章页调用
  • 网站开发和网络工程师方法网站目录
  • 用dw做网站的好处网页美工培训中心
  • 中文域名注册 .网站网站英文地图怎么做
  • 汽车行业网站建设维护服务wordpress改投票系统
  • 网站快照长期不更新wordpress 顶部高度
  • 雨颜色网站建设电器类网站设计
  • 网站建设模块化实现企业网站建设范文
  • 网站培训班有哪些课程中国工程建设标准化协会官方网站
  • 医院网站建设 费用做商业网站
  • 网站设计考虑因素wordpress录入表单写数据库
  • 个人博客网站设计网站优化方式有哪些