013.Kubernetes二进制部署worker节点Nginx实现高可用
一 Nginx代理实现kube-apiserver高可用
1.1 Nginx实现高可用
1.2 下载编译Nginx
1.3 安装和部署Nginx
- 1 [root@k8smaster01 ~]# cd /opt/k8s/work
- 2 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 3 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 4 do
- 5 echo ">>> ${node_ip}"
- 6 mkdir -p /opt/k8s/kube-nginx/{conf,logs,sbin}
- 7 done #创建Nginx目录
- 8 [root@k8smaster01 ~]# cd /opt/k8s/work
- 9 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 10 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 11 do
- 12 echo ">>> ${node_ip}"
- 13 scp /opt/k8s/work/nginx-1.15.3/nginx-prefix/sbin/nginx root@${node_ip}:/opt/k8s/kube-nginx/sbin/kube-nginx
- 14 ssh root@${node_ip} "chmod a+x /opt/k8s/kube-nginx/sbin/*"
- 15 ssh root@${node_ip} "mkdir -p /opt/k8s/kube-nginx/{conf,logs,sbin}"
- 16 done #分发Nginx二进制
1.4 配置Nginx 四层透明转发
- 1 [root@k8smaster01 ~]# cd /opt/k8s/work
- 1 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 2 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 3 do
- 4 echo ">>> ${node_ip}"
- 5 scp kube-nginx.conf root@${node_ip}:/opt/k8s/kube-nginx/conf/kube-nginx.conf
- 6 done #分发Nginx四层透明代理配置文件
1.5 配置Nginx system
1.6 分发Nginx systemd
- 1 [root@k8smaster01 ~]# cd /opt/k8s/work
- 2 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 3 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 4 do
- 5 echo ">>> ${node_ip}"
- 6 scp kube-nginx.service root@${node_ip}:/etc/systemd/system/
- 7 done
二 启动并验证
2.1 启动Nginx
- 1 [root@k8smaster01 ~]# cd /opt/k8s/work
- 2 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 3 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 4 do
- 5 echo ">>> ${node_ip}"
- 6 ssh root@${node_ip} "systemctl daemon-reload && systemctl enable kube-nginx && systemctl restart kube-nginx"
- 7 done
2.2 检查Nginx服务
- 1 [root@k8smaster01 ~]# cd /opt/k8s/work
- 2 [root@k8smaster01 work]# source /opt/k8s/bin/environment.sh
- 3 [root@k8smaster01 work]# for node_ip in ${NODE_IPS[@]}
- 4 do
- 5 echo ">>> ${node_ip}"
- 6 ssh root@${node_ip} "systemctl status kube-nginx |grep 'Active:'"
- 7 done

013.Kubernetes二进制部署worker节点Nginx实现高可用的更多相关文章
- 012.Kubernetes二进制部署worker节点Flannel
一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通.flannel 使用 vxlan 技术为各节点创建一 ...
- 015.Kubernetes二进制部署所有节点kubelet
一 部署 kubelet kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec.run.logs 等. k ...
- Pod在多可用区worker节点上的高可用部署
一. 需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布在同一个可 ...
- 016.Kubernetes二进制部署所有节点kube-proxy
一 部署 kube-proxy kube-proxy 运行在所有节点上,它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能. ...
- 008.Kubernetes二进制部署Nginx实现高可用
一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案. 控制节点的 kube-controller ...
- Kubernetes 二进制部署(一)单节点部署(Master 与 Node 同一机器)
0. 前言 最近受“新冠肺炎”疫情影响,在家等着,入职暂时延后,在家里办公和学习 尝试通过源码编译二进制的方式在单一节点(Master 与 Node 部署在同一个机器上)上部署一个 k8s 环境,整理 ...
- K8s二进制部署单节点 master组件 node组件 ——头悬梁
K8s二进制部署单节点 master组件 node组件 --头悬梁 1.master组件部署 2.node 组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建maste ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- 使用Ansible实现nginx+keepalived高可用负载均衡自动化部署
本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工 ...
随机推荐
- java和JavaScript的注释区别
今天在学习JavaScript的注释时候,想到了跟java注释对比一下有什么区别?下面详细的对比了一下. java的注释 java在使用注释的时候分为3种类型的注释. 单行注释:在注释内容前加符号 “ ...
- 开启sql语句监控
开启sql执行语句监控 set global general_log=on; set global_log_output='table'; 修改mysql配置文件,在[mysqld]中加入 gener ...
- win2008加入域控之尝试解析加入域中域控制器的dns名称失败解决办法
记录下今天遇到以前没遇到的问题 加入域的时候提示“尝试解析加入域中控制器的DNS”名称失败 可能的原因: 如果确认dns没问题 dc正常访问,那可能就是因为域控制器无法向dns注册srv记录. SRV ...
- 从前端到全栈:JavaScript逆袭之路
JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...
- python中requests模块-params与data的区别
一般来说,params 在 get 请求中使用,data 在 post 请求中使用
- Maven -- 使用Myeclipse创建Maven项目
使用Myeclipse创建Maven项目有如下几种方式: 1.创建Maven Java项目 1.1 选择新建Maven项目 1.2.选择创建简单项目 1.3.填写项目信息 1.4.创建成功后项目目录结 ...
- 拨云见日,彻底弄清楚Java日志框架 log4j, logback, slf4j的区别与联系
log4j 以及 logback, slf4j 官网 日志框架的困惑 作为一个正常的项目,是必须有日志框架的存在的,没有日志,很难追踪一些奇奇怪怪的系统问题. 但是,我们经常在项目的依赖中,见到奇奇怪 ...
- (day29) 进程互斥锁 + 线程
目录 进程互斥锁 队列和堆栈 进程间通信(IPC) 生产者和消费者模型 线程 什么是线程 为什么使用线程 怎么开启线程 线程对象的属性 线程互斥锁 进程互斥锁 进程间数据不共享,但是共享同一套文件系统 ...
- Java基础(六)判断两个对象相等:equals、hashcode、toString方法
1.equal方法 Object类中的equal方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用,它们一定是相等的.然 ...
- WordCount的实现和测试
WordCount 一.开头 (1)合作者:201631107110,201631083416 (2)代码地址:https://gitee.com/zhaoxiaoqin/WordCount.git ...