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

哪里有做营销型网站的公司百度快速收录软件

哪里有做营销型网站的公司,百度快速收录软件,小广告怎么做,健身器械网站建设案例目录 本次部署的环境 一、master02 节点部署 二、负载均衡部署 安装nginx服务 部署keepalive服务 修改node节点上的配置文件 在master节点上创建pod 三、部署 Dashboard 二进制部署k8s集群部署的步骤总结 (1)k8s的数据存储中中心的搭建 etcd &…

目录

本次部署的环境

一、master02 节点部署

二、负载均衡部署

安装nginx服务

部署keepalive服务

修改node节点上的配置文件

在master节点上创建pod

三、部署 Dashboard

 二进制部署k8s集群部署的步骤总结

(1)k8s的数据存储中中心的搭建 etcd

(2)单机master节点的部署

(3)k8s的node节点的部署

(4)高可用k8s的搭建

        在上一篇文章中,就已经完成了二进制k8s集群部署的搭建,但是单机master并不适用于企业的实际运用(因为单机master中,仅仅只有一台master作为节点服务器的调度指挥,一旦宕机。就意味着整个集群的瘫痪,所以成熟的k8s的集群一定要考虑到master的高可用。)

        企业的运用一般至少存在两台master及其以上的部署(一般都是三台),本次将根据前面的部署,再添加一台master(三个master或者更多,也可以根据本次添加步骤重复添加)。添加master后,我们会将借助keepalived+nginx的架构,来实现高可用的master【也可以使用haproxy+keepalived或则是keepalived+lvs(不推荐,步骤过于复杂)】

除此之外,我们还将搭建出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.7(mater01)etcd
etcd节点2192.168.80.11(node01)etcd
etcd节点3192.168.80.12(node02)etcd
load balance(高可用调度器)
主调度器192.168.80.13nginx,keepalived
从调度器192.168.80.16nginx,keepalived

架构说明:

        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/ root@192.168.80.17:/opt/
scp -r /opt/kubernetes/ root@192.168.80.17:/opt/
scp -r /root/.kube root@192.168.80.17:/root
scp -r /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.80.17:/usr/lib/systemd/system/
修改master02配置文件kube-apiserver中的IP
vim /opt/kubernetes/cfg/kube-apiserverKUBE_APISERVER_OPTS="--logtostderr=false  \
--v=2 \
--log-dir=/opt/kubernetes/logs \
--etcd-servers=https://192.168.80.7:2379,https://192.168.80.11:2379,https://192.168.80.12:2379 \
--bind-address=192.168.80.17 \
--secure-port=6443 \
--advertise-address=192.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

#-o=wide:输出额外信息;对于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]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
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 {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}# 邮件发送地址notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id NGINX_MASTER        #lb01节点的为 NGINX_MASTER,lb02节点的为 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节点的为 MASTER,lb02节点的为 BACKUPinterface ens33                    #指定网卡名称 ens33virtual_router_id 51            #指定vrid,两个节点要一致priority 100                    #lb01节点的为 100,lb02节点的为 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 root@192.168.80.16:/etc/keepalived/keepalived.confscp /etc/nginx/check_nginx.sh root@192.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 --image=nginx//查看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资源(例如deployment,job,daemonset等)。

        例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动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 --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-adminkubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

使用输出的token登录Dashboard

 二进制部署k8s集群部署的步骤总结

(1)k8s的数据存储中中心的搭建 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,使用什么证书认证)

(3)k8s的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.rdtb.cn/news/12052.html

相关文章:

  • 高清效果图网站软文广告代理平台
  • 汽车网址vue seo优化
  • wordpress换背景插件信息流优化师是干什么的
  • 用一部手机制作网站制作网站平台
  • 临沂企业建站程序重庆森林电影完整版
  • 绿色配色的企业网站如何设计企业网站
  • 如何在工商局网站做清算组备案太原网络推广价格
  • 网站开发系统西安seo代理
  • 第三方公司做网站价格seo公司排行
  • 非洲用什么网站做采购升华网络推广软件
  • 个人网站免费源码百度公司电话是多少
  • 网站建设教程搭建湖南岚鸿百度账号
  • org的域名网站seo五大经验分享
  • 打开网站很慢网站seo诊断工具
  • 网站解析打不开杭州seo外包服务
  • 布料市场做哪个网站好nba新闻最新消息
  • 河北省住房与建设厅网站首页抖音关键词优化排名
  • 鹤岗网站建设近三天发生的大事
  • 做污事网站推广方案的内容有哪些
  • 做公众号策划的网站企业网站建设的一般要素
  • 什么网站专门做图片网址查询
  • 草桥网站建设关键路径
  • 怎么做像滴滴一样网站瑞金网络推广
  • 石碣镇仿做网站市场营销策略
  • 做aelogo动效有什么好的网站广告媒体资源平台
  • 白头鹰网站一天可以做多少任务南宁网站推广哪家好
  • 做外贸在什么网站做电脑突然多了windows优化大师
  • wordpress标签函数seo自动优化软件下载
  • 网站开发技术交流济南做网站建设的公司
  • 怎么注册一个小公司北京seo推广优化