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

做游戏网站定位外贸整合营销网站

做游戏网站定位,外贸整合营销网站,做网站的首页下拉列表,磁力猫torrentkitty官网目录 本次部署的环境 一、master02 节点部署 二、负载均衡部署 安装nginx服务 部署keepalive服务 修改node节点上的配置文件 在master节点上创建pod 三、部署 Dashboard 二进制部署k8s集群部署的步骤总结 #xff08;1#xff09;k8s的数据存储中中心的搭建 etcd 1k8s的数据存储中中心的搭建 etcd 2单机master节点的部署 3k8s的node节点的部署 4高可用k8s的搭建 在上一篇文章中就已经完成了二进制k8s集群部署的搭建但是单机master并不适用于企业的实际运用因为单机master中仅仅只有一台master作为节点服务器的调度指挥一旦宕机。就意味着整个集群的瘫痪所以成熟的k8s的集群一定要考虑到master的高可用。 企业的运用一般至少存在两台master及其以上的部署一般都是三台本次将根据前面的部署再添加一台master三个master或者更多也可以根据本次添加步骤重复添加。添加master后我们会将借助keepalivednginx的架构来实现高可用的master【也可以使用haproxykeepalived或则是keepalivedlvs不推荐步骤过于复杂】 除此之外我们还将搭建出k8s的ui管理界面 本次部署的环境 mater节点mater01192.168.80.7kube-apiserver kube-controller-manager kube-scheduler master02192.168.80.17kube-apiserver kube-controller-manager kube-scheduler node节点node01192.168.80.11kubelet kube-proxy docker 容器引擎node02192.168.80.12kubelet kube-proxy docker 容器引擎etcd  cluster集群etcd节点1192.168.80.7mater01etcdetcd节点2192.168.80.11node01etcdetcd节点3192.168.80.12node02etcdload balance高可用调度器主调度器192.168.80.13nginxkeepalived从调度器192.168.80.16nginxkeepalived 架构说明 node节点的kubelet只能对接一个master节点的apiserver不可能同时对接多个master节点的apiserver。简而言之node节只能有一个master来领导。 kubelet和kube-proxy是通过kubelet.kubeconfig和kube-proxy.kubeconfig文件中的server参数进行对接 master节点的。 所以在多master节点的环境下需要有nginx负载均衡器来进行调度而且需要进行keepalived高可用的构建(主从两个节点) 防止主节点宕机导致整个k8s集群的不可用。 一、master02 节点部署 从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点scp -r /opt/etcd/ root192.168.80.17:/opt/ scp -r /opt/kubernetes/ root192.168.80.17:/opt/ scp -r /root/.kube root192.168.80.17:/root scp -r /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root192.168.80.17:/usr/lib/systemd/system/ 修改master02配置文件kube-apiserver中的IP vim /opt/kubernetes/cfg/kube-apiserverKUBE_APISERVER_OPTS--logtostderrfalse \ --v2 \ --log-dir/opt/kubernetes/logs \ --etcd-servershttps://192.168.80.7:2379,https://192.168.80.11:2379,https://192.168.80.12:2379 \ --bind-address192.168.80.17 \ --secure-port6443 \ --advertise-address192.168.80.17 \ ...... 在 master02 节点上启动各服务并设置开机自启 systemctl enable --now kube-apiserver.service systemctl enable --now kube-controller-manager.service systemctl enable --now kube-scheduler.service 查看node节点状态 ln -s /opt/kubernetes/bin/* /usr/local/bin/ kubectl get nodes kubectl get nodes -o wide #-owide输出额外信息对于Pod将输出Pod所在的Node名 //此时在master02节点查到的node节点状态仅是从etcd查询到的信息而此时node节点实际上并未与master02节点建立通信连接因此需要使用一个VIP把node节点与master节点都关联起来 二、负载均衡部署 安装nginx服务 //配置load balancer集群双机热备负载均衡nginx实现负载均衡keepalived实现双机热备 ##### 在lb01、lb02节点上操作 ##### //配置nginx的官方在线yum源配置本地nginx的yum源 注意 epel源下载的 nginx 不支持stream cat /etc/yum.repos.d/nginx.repo EOF [nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgcheck0 EOFyum install nginx -y//修改nginx配置文件配置四层反向代理负载均衡指定k8s群集2台master的节点ip和6443端口 vim /etc/nginx/nginx.conf events {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.80.7:6443;server 192.168.80.17:6443;}server {listen 6443;proxy_pass k8s-apiserver;} }http { ......//检查配置文件语法 nginx -t //启动nginx服务查看已监听6443端口 systemctl start nginx systemctl enable nginx netstat -natp | grep nginx 部署keepalive服务 //部署keepalived服务yum install keepalived -y//修改keepalived配置文件 vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {# 接收邮件地址notification_email {acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}# 邮件发送地址notification_email_from Alexandre.Cassenfirewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id NGINX_MASTER #lb01节点的为 NGINX_MASTERlb02节点的为 NGINX_BACKUPvrrp_skip_check_adv_addr#vrrp_strict #这里要注释vrrp_garp_interval 0vrrp_gna_interval 0 }#添加一个周期性执行的脚本 vrrp_script check_nginx {script /etc/nginx/check_nginx.sh #指定检查nginx存活的脚本路径 }vrrp_instance VI_1 {state MASTER #lb01节点的为 MASTERlb02节点的为 BACKUPinterface ens33 #指定网卡名称 ens33virtual_router_id 51 #指定vrid两个节点要一致priority 100 #lb01节点的为 100lb02节点的为 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.80.100/24 #指定 VIP}track_script {check_nginx #指定vrrp_script配置的脚本} }//创建nginx状态检查脚本 vim /etc/nginx/check_nginx.sh #!/bin/bash #egrep -cv grep|$$ 用于过滤掉包含grep 或者 $$ 表示的当前Shell进程ID即脚本运行的当前进程ID号 count$(ps -ef | grep nginx | egrep -cv grep|$$)if [ $count -eq 0 ];thensystemctl stop keepalived fichmod x /etc/nginx/check_nginx.shscp /etc/keepalived/keepalived.conf root192.168.80.16:/etc/keepalived/keepalived.confscp /etc/nginx/check_nginx.sh root192.168.80.16:/etc/nginx/check_nginx.sh注意另外一台keepalive配置也要进行修改需改内容已经用注释提示 //启动keepalived服务一定要先启动了nginx服务再启动keepalived服务 systemctl start keepalived systemctl enable keepalived ip a                #查看VIP是否生成 关闭主节点的nginx服务模拟故障测试keepalived​#关闭主节点lb01的Nginx服务模拟宕机观察VIP是否漂移到备节点systemctl stop nginxip addrsystemctl status keepalived #此时keepalived被脚本杀掉了 ​#备节点查看是否生成了VIPip addr #此时VIP漂移到备节点lb02#恢复主节点systemctl start nginx #先启动nginxsystemctl start keepalived #再启动keepalivedip addr​ 修改node节点上的配置文件 //修改node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP cd /opt/kubernetes/cfg/ vim bootstrap.kubeconfig server: https://192.168.80.100:6443vim kubelet.kubeconfig server: https://192.168.80.100:6443vim kube-proxy.kubeconfig server: https://192.168.80.100:6443//重启kubelet和kube-proxy服务 systemctl restart kubelet.service systemctl restart kube-proxy.service//在 lb01 上查看 nginx 和 node 、 master 节点的连接状态 netstat -natp | grep nginx 在master节点上创建pod /测试创建pod kubectl run nginx --imagenginx//查看Pod的状态信息 kubectl get pods NAME READY STATUS RESTARTS AGE nginx 0/1 ContainerCreating 0 14s #正在创建中kubectl get pods NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 34m #创建完成运行中kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 39m 10.244.0.3 192.168.80.11 none none //READY为1/1表示这个Pod中有1个容器 在对应网段的node节点上操作可以直接使用浏览器或者curl命令访问 这时在master01节点上查看nginx日志 kubectl logs nginx 三、部署 Dashboard Dashboard 介绍         仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群对容器化应用程序进行故障排除并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序以及创建或修改单个Kubernetes资源例如deploymentjobdaemonset等。 例如您可以使用部署向导扩展部署启动滚动更新重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。 //在 master01 节点上操作 #上传 recommended.yaml 文件到 /opt/k8s 目录中 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 #添加 NodePort测试环境使用生产环境不使用。selector:k8s-app: kubernetes-dashboardkubectl 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-adminkubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk /dashboard-admin/{print $1}) 使用输出的token登录Dashboard 二进制部署k8s集群部署的步骤总结 1k8s的数据存储中中心的搭建 etcd etcd 安装步骤 准备 CA 证书和 私钥文件 首先 CA 签发服务端证书 和 私钥文件 使用 CA 证书 、服务端证书、私钥文件 还有etcd 集群配置文件 启动etcd服务 复制etcd工作目录和管理文件到另外几个etcd节点上并修改etcd的配置文件然后启动etcd服务 最后使用 etcdctl 命令查看etcd集群的状态 2单机master节点的部署 master 组件 1、先安装 apiserver 1.1 准备apiserver的证书和私钥文件               准备bootstrap  token 认证文件 用于kubelet启动时签发证书时使用               准备apiserver的配置文件               启动 apiserver 服务    端口是 6443 https 2、再安装controller-manager 和 scheduler 2.1 先准备相关的启动配置文件               然后再准备相关证书和私钥文件 生成 kubeconfig 文件用于指定对接apiserver使用什么证书认证启动服务 准备kubeconfig文件  把kubectl 加入到集群中指定对接apiserver使用什么证书认证 3k8s的node节点的部署 先部署docker 引擎 准备kubeconfig文件、kube-proxy.kubeconfig文件还有kubenetes组件kubelet、kube-proxy 对kubelet-bootstrap 用户授予权限启动相应服务并通过 CSR 请求 安装CNI 网络插件实现 pod 跨主机的通信安装CoreDNS 插件实现 service 名称解析到 clusterIP 4高可用k8s的搭建 首先引入新的master节点然后把master01 节点上的证书文件、各master组件的配置文件和服务管理文件拷贝到 其它master 节点并修改配置文件。最后启动相关服务。 搭建nginx/Haproxy    keepalived 高可用负载均衡器对master节点 修改 node节点上kubelet kube-proxy的 kubeconfig配置文件对接VIP kubectl的配置文件也要对接VIP或者当前的节点
http://www.hkea.cn/news/14274500/

相关文章:

  • 网上申请个人营业执照网站天津快速建站模板
  • 怎么样做个网站长春今天最新通告
  • 免费在线响应式网站自助建站无锡建设网站制作
  • 潍坊公司网站模板建站沈阳企业网站优化排名方案
  • 网站建设 电话咨询手机网站菜单设计模板
  • 倒v是网站设置的还是作家自己公众号开发者密码是什么
  • 网站设计制作报价图片国外注册机网站
  • wordpress教育网站网站推广建议
  • 营销型网站建设的主要流程包括漯河哪里做网站
  • 襄阳做网站比较有实力的公司软文代写费用
  • 新手学做网站的教学书什么大型网站用python做的
  • 优化关键词规则北京 seo
  • 做网站设计能赚钱吗腾云网建站
  • 网站开发技术案例响应式网站介绍
  • 哪些网站是动态页面电商推广专业术语
  • 专做运动品牌的网站python如何调用wordpress
  • 湘潭网站建设方案案例响应式企业网站建设
  • wordpress控制文章显示数量seo整站网站推广优化排名
  • 昆仑万维做网站saas微信小程序开发工具
  • wordpress 模板教程网站seo分析常用的工具是
  • 网站建设首页突出什么大连建站平台
  • 如何做一个购物网站北京网站制作设计公司排名
  • 芬兰网站后缀设计自学网站哪个好
  • 建网站需要多少钱石家庄muse做的网站怎么样
  • 长春网站设计制作机械建设网站
  • 代做网站平台做的好的网站
  • 怎样注册平台网站销售网站内容设计方案
  • 可以做砍价活动的网站佛山网站开发招聘
  • 服装网站建设发展状况深圳龙华区住房和建设局网站
  • 自己建网站花钱吗注册100万的公司一年缴纳多少税