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

自助建站帮助网企业名录2019企业黄页

自助建站帮助网,企业名录2019企业黄页,网络服务类型及其采用的网络协议,网站备案号注销查询↑↑↑↑接上一篇继续部署↑↑↑↑ 之前已经完成了单master节点的部署#xff0c;现在需要完成多master节点以及实现k8s集群的高可用 一、完成master02节点的初始化操作 二、在master01节点基础上#xff0c;完成master02节点部署 步骤一#xff1a;准备好master节点所需…↑↑↑↑接上一篇继续部署↑↑↑↑ 之前已经完成了单master节点的部署现在需要完成多master节点以及实现k8s集群的高可用 一、完成master02节点的初始化操作 二、在master01节点基础上完成master02节点部署 步骤一准备好master节点所需要的文件 etcd数据库所需要的ssl证书、master01节点的kubernetes安装目录二进制文件、组件与apiserver通信的集群引导文件、启动参数配置文件、kubectl与apiserver通信的集群引导文件、各组件被systemd管理的service文件 ##etcd目录只要ssl就可以kubernetes安装目录传输包含二进制文件、证书、启动参数配置文件、集群引导文件 [rootmaster01 opt#ls etcd k8s kubernetes rh [rootmaster01 opt#scp -r kubernetes/ etcd/ master02:/opt/ ##service服务文件 [rootmaster01 opt#ls /usr/lib/systemd/system/kube* /usr/lib/systemd/system/kube-apiserver.service /usr/lib/systemd/system/kube-controller-manager.service /usr/lib/systemd/system/kube-scheduler.service [rootmaster01 opt#scp /usr/lib/systemd/system/kube* master02:/usr/lib/systemd/system/ [rootmaster01 opt#ls /root/.kube/ cache config [rootmaster01 opt#scp -r /root/.kube/ master02:/root/ rootmaster02s password: config 只留下必要的文件 步骤二修改apiserver、controller-manager、scheduler启动参数配置文件中的监听地址以及apiserver的通告地址 ---------- master02 节点部署 ---------- //从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点 scp -r /opt/etcd/ root192.168.20.10:/opt/ scp -r /opt/kubernetes/ root192.168.20.10:/opt scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root192.168.20.10:/usr/lib/systemd/system///修改配置文件kube-apiserver中的IP vim /opt/kubernetes/cfg/kube-apiserver KUBE_APISERVER_OPTS--logtostderrtrue \ --v4 \ --etcd-servershttps://192.168.20.15:2379,https://192.168.20.16:2379,https://192.168.20.17:2379 \ --bind-address192.168.20.10 \ #修改 --secure-port6443 \ --advertise-address192.168.20.10 \ #修改 ......//在 master02 节点上启动各服务并设置开机自启 systemctl start kube-apiserver.service systemctl enable kube-apiserver.service systemctl start kube-controller-manager.service systemctl enable kube-controller-manager.service systemctl start kube-scheduler.service systemctl enable 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节点都关联起来 步骤三依次启动apiserver、controller-manager、scheduler并验证 二、部署nginx做负载均衡器 ------------------------------ 负载均衡部署 ------------------------------ //配置load balancer集群双机热备负载均衡nginx实现负载均衡keepalived实现双机热备 ##### 在lb01、lb02节点上操作 ##### //配置nginx的官方在线yum源配置本地nginx的yum源 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.20.15:6443;server 192.168.20.10:6443;}server {listen 6443;proxy_pass k8s-apiserver;} }http { ......//检查配置文件语法 nginx -t //启动nginx服务查看已监听6443端口 systemctl start nginx systemctl enable nginx netstat -natp | grep nginx 注意四层代理需要有stream模块 三、部署keepalived服务做k8s集群负载均衡器高可用 //部署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_BACKUP }#添加一个周期性执行的脚本 vrrp_script check_nginx {script /etc/keepalived/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.20.150/24 #指定 VIP}track_script {check_nginx #指定vrrp_script配置的脚本} }//方法一创建nginx状态检查脚本 vim /etc/keepalived/nginx.sh #!/bin/bash #egrep -cv grep|$$ 用于过滤掉包含grep 或者 $$ 表示的当前Shell进程ID count$(ps -ef | grep nginx | egrep -cv grep|$$)if [ $count -eq 0 ];thensystemctl stop keepalived fi//方法二创建nginx状态检查脚本2 cat /etc/keepalived/nginx.sh EOF #!/bin/bash killall -0 nginx /dev/null if [ $? -ne 0 ];thensystemctl stop keepalived fi EOFchmod x /etc/keepalived/nginx.sh//启动keepalived服务一定要先启动了nginx服务再启动keepalived服务 systemctl start keepalived systemctl enable keepalived ip a #查看VIP是否生成 备节点在主节点的配置文件上修改 验证故障转移 主节点重新启动nginx和keepalived服务 会抢占vip 四、修改修改node节点上的配置引导文件中的server对应的ip为VIP bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP //修改node节点上的bootstrap.kubeconfig, kubelet.kubeconfig kube-proxy.kubeconfig配置文件为VIP cd /opt/kubernetes/cfg/ vim bootstrap.kubeconfig server: https://192.168.20.100:6443vim kubelet.kubeconfig server: https://192.168.20.100:6443vim kube-proxy.kubeconfig server: https://192.168.20.100:6443//重启kubelet和kube-proxy服务 systemctl restart kubelet.service systemctl restart kube-proxy.service 同步node02也一样需要修改 五、所有的master节点的集群引导配置文件都指向本机apiserver的ip和端口 [rootmaster02 cfg]#ls kube-apiserver kube-controller-manager kube-controller-manager.kubeconfig kube-scheduler kube-scheduler.kubeconfig token.csv [rootmaster02 cfg]#vim kube-controller-manager.kubeconfig [rootmaster02 cfg]#vim kube-scheduler.kubeconfig [rootmaster02 cfg]#cd ~/.kube/ [rootmaster02 .kube]#ls cache config [rootmaster02 .kube]#vim config [rootmaster02 .kube]#ls /usr/lib/systemd/system/kube-* /usr/lib/systemd/system/kube-apiserver.service /usr/lib/systemd/system/kube-controller-manager.service /usr/lib/systemd/system/kube-scheduler.service [rootmaster02 .kube]#systemctl restart kube-apiserver.service [rootmaster02 .kube]#systemctl restart kube-controller-manager.service [rootmaster02 .kube]#systemctl restart kube-scheduler.service 到此k8s集群已经部署完毕了 六、安装dashboard 仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群对容器化应用程序进行故障排除并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序以及创建或修改单个Kubernetes资源例如部署作业守护进程等。例如您可以使用部署向导扩展部署启动滚动更新重新启动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 #添加selector:k8s-app: kubernetes-dashboardkubectl apply -f recommended.yaml#创建service account并绑定默认cluster-admin管理员集群角色 kubectl create serviceaccount dashboard-admin -n kube-system kubectl create clusterrolebinding dashboard-admin --clusterrolecluster-admin --serviceaccountkube-system:dashboard-admin kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk /dashboard-admin/{print $1})使用输出的token登录Dashboardhttps://NodeIP:30001  七、总结二进制部署k8s集群 1部署etcd 使用cfssl工具签发证书和私钥文件解压etcd软件包获取二进制文件 etcd etcdctl准备etcd集群配置文件启动etcd进程服务将所有节点加入到etcd集群中 etcd的操作 #查看etcd集群健康状态 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379,https://IP2:2379,https://IP3:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 -wtable endpoint health#查看etcd集群状态信息 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379,https://IP2:2379,https://IP3:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 -wtable endpoint status#查看etcd集群成员列表 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379,https://IP2:2379,https://IP3:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 -wtable member list#向etcd插入键值 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 put KEY VALUE#查看键的值 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 get KEY#删除键 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 del KEY#备份etcd数据库 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 snapshot save 备份文件路径#恢复etcd数据库 ETCDCTL_API3 /opt/etcd/bin/etcdctl --endpointshttps://IP1:2379 --cacertCA证书 --cert客户端证书 --key客户端私钥 snapshot restore 备份文件路径 2部署master组件 使用cfssl工具签发证书和私钥文件下载K8S软件包获取二进制文件 kube-apiserver  kube-controller-manager  kube-scheduler 准备 kube-apiserver 启动时要调用的 bootstrap-token 认证文件token.csv准备 kube-apiserver  kube-controller-manager  kube-scheduler 的进程服务启动参数配置文件准备 kube-controller-manager  kube-scheduler  kubectl 的 kubeconfig 集群引导配置文件用于连接和验证 kube-apiserver依次启动 kube-apiserver  kube-controller-manager  kube-scheduler 进程服务执行 kubectl get cs 命令查看master组件的健康状态 3部署node组件 获取二进制文件 kubelet kube-proxy准备 kubelet kube-proxy 使用的 kubeconfig集群引导配置文件 bootstrap.kubeconfig(kubelet首次访问apiserver使用认证的文件)  kube-proxy.kubeconfig准备 kubelet kube-proxy 的进程服务启动参数配置文件启动 kubelet 进程服务向 apiserver 发起 CSR 请求自动签发证书master 通过 CSR 请求后 kubelet 即可获取到证书加载 ipvs 模块启动 kube-proxy 进程服务安装 cni 网络插件flannel或calico和 CoreDNS执行 kubectl get nodes 命令查看node节点状态 4部署多master高可用 负责master组件相关的二进制文件、证书、私钥、启动参数配置文件、kubeconfig集群引导配置文件和etcd的证书、私钥文件修改 kube-apiserver  kube-controller-manager  kube-scheduler 启动参数配置文件里的监听地址和通告地址再依次重启服务进程部署 nginx/haproxy 负载均衡器和 keepalived 高可用修改 kubelet kube-proxy kubectl 的kubeconfig集群引导配置文件里的server参数都指向keepalived的VIP地址再重启 kubelet kube-proxy 服务进程修改其它master节点上的 kube-controller-manager  kube-scheduler 的kubeconfig集群引导配置文件里的server参数都指向各自本机的apiserver地址再重启服务进程
http://www.w-s-a.com/news/374081/

相关文章:

  • 免费网线seo外链怎么做
  • 宽带技术网网站wordpress widget hook
  • 山西省住房和城乡建设厅网站报名wordpress添加标签插件
  • 网站怎么自己做外贸网站案例
  • 做网站的优势公司网站怎么做站外链接
  • 海城网站制作建设精准营销的营销方式
  • 北京短视频拍摄公司重庆网站seo推广公司
  • 广州免费推广网站建设4399网页游戏大全
  • 网站的构架与组成建站公司兴田德润
  • php网站部署步骤邯郸哪有做网站的
  • 做设计什么设计比较好的网站南充市住房和城乡建设局考试网站
  • 郑州做系统集成的公司网站龙岩
  • 厦门SEO_厦门网站建设网络营销课程视频
  • vs 2015 网站开发开网店在线咨询
  • 前端如何优化网站性能大学学校类网站设计
  • 中国铁路建设投资公司网站熊学军中国it外包公司排名前50
  • 房产网站的建设广州推广排名
  • 湟源县网站建设wordpress删除未分类
  • 营销型网站开发推广厦门百度seo公司
  • 遵义网站开发培训上海中高风险地区名单最新
  • 禹州市门户网站建设做网站可以申请个体户么
  • 大良营销网站建设效果彩票网站搭建 做网站
  • 做网站的公司为什么人少了在中国如何推广外贸平台
  • 盘锦网站制作工业电商网站怎么配色
  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设