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

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

 8、添加master节点

在k8s-master2和k8s-master3节点创建文件夹
mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行
从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3
scp /etc/kubernetes/admin.conf root@192.168.77.15:/etc/kubernetes 
scp /etc/kubernetes/pki/{ca.*,sa.*,front-proxy-ca.*} root@192.168.77.15:/etc/kubernetes/pki
scp /etc/kubernetes/pki/etcd/ca.* root@192.168.77.15:/etc/kubernetes/pki/etcdscp /etc/kubernetes/admin.conf root@192.168.77.16:/etc/kubernetes 
scp /etc/kubernetes/pki/{ca.*,sa.*,front-proxy-ca.*} root@192.168.77.16:/etc/kubernetes/pki
scp /etc/kubernetes/pki/etcd/ca.* root@192.168.77.16:/etc/kubernetes/pki/etcd

kubeadm token create --ttl 0 --print-join-command
kubeadm token list

将其他master节点加入集群

k8s-master2和k8s-master3都需要加入

令牌最后要加上--control-plane

kubeadm join master.k8s.io:6443 --token v1igjz.rsq683im1cbqksur     --discovery-token-ca-cert-hash sha256:c4b73babba1252778d643f80c4c6f77242a3f0aa7a670090bda682eabc12e225 --control-plane

 cni-plugins-linux-amd64-v0.8.6.tgz(需要去网上下载)

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
tar xf cni-plugins-linux-amd64-v0.8.6.tgz
cp flannel /opt/cni/bin/
docker load < flannel_v0.12.0-amd64.tar
kubectl get nodes

 9、加入Kubernetes Node

直接在node节点服务器上执行k8s-master1初始化成功后的消息即可

kubeadm join master.k8s.io:6443 --token v1igjz.rsq683im1cbqksur     --discovery-token-ca-cert-hash sha256:c4b73babba1252778d643f80c4c6f77242a3f0aa7a670090bda682eabc12e225 docker load < flannel_v0.12.0-amd64.tar

node2和node3的操作和node1一样

 查看节点状态

四、测试Kubernetes集群

所有node节点下载nginx
docker pull nginx在master1上创建一个pod
mkdir demo
cd demo
vim nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 3selector: matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:latestports:- containerPort: 80

kubectl create -f nginx-deployment.yaml
kubectl get pods
kubectl get pods -o wide

创建Service资源清单

在创建的 nginx-service 资源清单中,定义名称为 nginx-service 的 Service、标签选择器为 app: nginx、type 为 NodePort 指明外部流量可以访问内部容器。在 ports 中定义暴露的端口库号列表,对外暴露访问的端口是 80,容器内部的端口也是 80。

vim nginx-service.yaml
kind: Service
apiVersion: v1
metadata:name: nginx-service
spec:selector:app: nginxtype: NodePortports:- protocol: TCPport: 80
targetPort: 80

kubectl create -f nginx-service.yaml
kubectl get svc

通过虚拟IP访问浏览器

测试负载均衡

将master关机模拟服务器宕机,然后再查看

再访问web页面

可以看到web应用正常工作

去master2上查看,可以发现虚拟IP已经转移到了master2的ens33网卡上了,说明负载均衡配置成功

域名也是可以访问的但是由于还要配置windows的防火墙与dns这里就适用命令测试了

以上就是Kubernetes 企业级高可用部署

如有错误欢迎各位大佬批评指正,我们共同进步

相关文章:

小白到运维工程师自学之路 第七十五集 (Kubernetes 企业级高可用部署)2

8、添加master节点 在k8s-master2和k8s-master3节点创建文件夹 mkdir -p /etc/kubernetes/pki/etcd在k8s-master1节点执行 从k8s-master1复制密钥和相关文件到k8s-master2和k8s-master3 scp /etc/kubernetes/admin.conf root192.168.77.15:/etc/kubernetes scp /etc/kubernet…...

Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist

一开始肯定要排个序&#xff0c;b相同时t大的在前边&#xff0c;不同时b大的在前面。 然后想最多只能选k个的限制&#xff0c;可以这样想&#xff0c;每次用到的b只能用已选到的最小的值&#xff0c;那可以把每个b都枚举一遍&#xff0c;然后每一次选时长最长的&#xff0c;且…...

postgresql中基础sql查询

postgresql中基础sql查询 创建表插入数据创建索引删除表postgresql命令速查简单查询计算查询结果 利用查询条件过滤数据模糊查询 创建表 -- 部门信息表 CREATE TABLE departments( department_id INTEGER NOT NULL -- 部门编号&#xff0c;主键, department_name CHARACTE…...

如何做好科技文献资料的翻译!

我们知道&#xff0c;科技文献是工程技术人员的重要参考文献&#xff0c;翻译科技文献资料有助于促进国内外科技知识和技术的传播。那么&#xff0c;如何做好科技文献资料的翻译&#xff0c;专业科技文献翻译哪家好&#xff1f; 据了解&#xff0c;科技文献翻译是一种以应用为主…...

处理Selenium3+python3定位鼠标悬停才显示的元素

这篇文章主要介绍了Selenium3python3--如何定位鼠标悬停才显示的元素 &#xff0c;文中通过简单代码给大家介绍的非常详细,需要的朋友可以参考下 先给大家介绍下Selenium3python3--如何定位鼠标悬停才显示的元素 定位鼠标悬停才显示的元素&#xff0c;要引入新模块 # coding…...

python通过S7协议读取西门子200smart数据

发现网上很多关于python通过s7协议控制200smart的代码都失败&#xff0c;我猜应该是版本的问题。自己捣鼓了半天&#xff0c;终于测试成功 from snap7 import util,clientmy_plc client.Client() #建立一个客户端对象 my_plc.set_connection_type(3) #如果是200smart,必须有此…...

深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)

深入理解SSO原理,项目实践使用一个优秀开源单点登录项目(附源码)。 一、简介 单点登录(Single Sign On),简称为 SSO。 它的解释是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 ❝ 所谓一次登录,处处登录。同样一处退出,处处退出。 ❞ 二…...

【云原生】K8S控制详解

目录 一、Pod控制器1.1 Pod控制器及其功用1.2 pod控制器有多种类型1.3Pod与控制器之间的关系二、Deployment 三、SatefulSet3.1从上面的应用场景可以发现&#xff0c;StatefulSet由以下几个部分组成&#xff1a;3.2为什么要有headless&#xff1f;3.3为什么要有volumeClaimTemp…...

CentOS 8 安装 oracle 23c CentOS9 Error deal

1.环境准备 软件准备 序号 软件 下载地址 1 VirtualBox https://www.virtualbox.org/wiki/Downloads2 CentOS Stream 8 https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso3 oracle-database-free-23c # cd ~/Down…...

sklearn-决策树

目录 决策树算法关键 特征维度&判别条件 决策树算法:选择决策条件 纯度的概念...

元宇宙之应用(05) 远程医疗手术

在科技不断进步的今天&#xff0c;元宇宙的概念正逐渐从科幻小说走入现实&#xff0c;重新定义了人类与数字世界的交互方式。其中&#xff0c;"远程手术" 这一概念引发了医疗领域的深刻思考。为什么要让元宇宙与医疗领域产生交集&#xff1f;这一切究竟是什么&#x…...

centos7在线安装 jdk1.8+tomcat+mysql8+nginx+docker

centos7 在线安装jdk1.8 yum install -y java-1.8.0-openjdk.x86_64 java默认安装路径/usr/lib/jvm/&#xff1b; 加入环境变量配置&#xff0c;在/etc/profile 配置文件中加入 java 环境变量&#xff1a; vim /etc/profile ​ #java 环境变量内容&#xff1a; ​ #java环境变量…...

Vue中实现分页

1.构造分页组件&#xff0c;并注册为全局组件 <template><div class"pagination"><button v-if"startNumAndEndNum.start>1" click"$emit(getPageNo,pageNo-1)">上一页</button><button v-if"startNumAndEn…...

vue3 + antv/x6 实现拖拽侧边栏节点到画布

前篇&#xff1a;vue3ts使用antv/x6 自定义节点 前篇&#xff1a;vue3antv x6自定义节点样式 1、创建侧边栏 用antd的menu来做侧边栏 npm i --save ant-design-vue4.x//入口文件main.js内 import Antd from ant-design-vue; import App from ./App; import ant-design-vue/…...

视频云存储/安防监控/视频汇聚EasyCVR平台新增设备经纬度选取

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…...

CentOS7源码安装MySQL详细教程

&#x1f60a; 作者&#xff1a; Eric &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_47316183?typeblog &#x1f389; 主题&#xff1a;CentOS7源码安装MySQL详细教程 ⏱️ 创作时间&#xff1a; 2023年08月014日 文章目录 1、安装的四种方式2、源码安装…...

SpringBoot + Vue 微人事(十二)

职位批量删除实现 编写后端接口 PositionController DeleteMapping("/")public RespBean deletePositionByIds(Integer[] ids){if(positionsService.deletePositionsByIds(ids)ids.length){return RespBean.ok("删除成功");}return RespBean.err("删…...

上半年巴比食品增收不增利,下半年失速的团餐业务能否“复苏”?

随着生活节奏逐渐加快&#xff0c;“宅经济”和“懒人经济”快速融合&#xff0c;人们对进餐便利性的要求逐渐提高&#xff0c;更适用于居家消费的食品应运而生&#xff0c;这其中速冻面点既便于烹饪&#xff0c;又方便快捷&#xff0c;因此其率先出圈获得了消费者青睐&#xf…...

Java基础篇--内部类

在Java中&#xff0c;允许在一个类的内部定义类&#xff0c;这样的类称作内部类&#xff0c;内部类所在的类称作外部类。在实际开发中&#xff0c;根据内部类的位置、修饰符和定义方式的不同&#xff0c;内部类可分为4种&#xff0c;分别是成员内部类、局部内部类、静态内部类、…...

完全备份、增量备份、差异备份、binlog日志

Top NSD DBA DAY06 案例1&#xff1a;完全备份与恢复案例2&#xff1a;增量备份与恢复案例3&#xff1a;差异备份与恢复案例4&#xff1a;binlog日志 1 案例1&#xff1a;完全备份与恢复 1.1 问题 练习物理备份与恢复练习mysqldump备份与恢复 1.2 方案 在数据库服务器192…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...