基于飞腾麒麟架构快速部署kubernetes(1.21.6,HA)—VF的部落格

当前版本的kubeadm已经原生支持部署HA模式集群,非常方便即可实现HA模式的kubernetes集群。本次部署基于飞腾麒麟的ARM架构,原则上来说,其他ARM架构也适配,系统版本是:麒麟V10,docker版本:18.09.8,kubernetes适用1.21.x版本,本文采用1.21.6。

准备了六台机器作安装测试工作,机器信息如下:

关闭防火墙:

systemctlstopfirewalldsystemctldisablefirewalld关闭selinux:

sed-i's/enforcing/disabled/'/etc/selinux/configsetenforce0关闭swap:

swapoff-avim/etc/fstab流量转发

cat>/etc/sysctl.d/k8s.conf<

安装docker-compose

yuminstalldocker-composeMaster01节点的ETCD的docker-compose.yml:

使用阿里云提供的源安装软件包

cat>/etc/sysconfig/modules/ipvs.modules<

本文采用DNS轮询解析实现简单的负载均衡,在Dns01,Dns02节点上部署DNS。

1、添加/etc/dnsmasq/hosts.dnsmasq文件,添加域名解析

172.16.2.1api.k8s.com172.16.2.2api.k8s.com172.16.2.3api.k8s.com2、docker-compose部署dnsmasq服务:

version:"3"services:dnsmasq:image:gists/dnsmasq:2.85command:-q--log-facility=---addn-hosts=/etc/hosts.dnsmasqnetwork_mode:"host"volumes:-/root/dnsmasq/hosts.dnsmasq:/etc/hosts.dnsmasqcap_add:-NET_ADMINrestart:alwaysstdin_open:truetty:true3、在除了部署dnsmasq服务的其他所有节点上(包括Master和Node),配置DNS(如果有默认启动的DNS服务,需要先将其停止)

cat</etc/resolv.confnameserver172.16.2.251nameserver172.16.2.252EOF7安装master节点kubeadm配置文件kubeadm-config.yaml:

kubeadminit--config=kubeadm-config.yaml--upload-certs如果镜像已经提前下载,安装过程大概30秒,输出结果如下:

opensslx509-pubkey-in/etc/kubernetes/pki/ca.crt|opensslrsa-pubin-outformder2>/dev/null|openssldgst-sha256-hex|sed's/^.*//'加载管理员配置文件

方式一:

mkdir-p$HOME/.kubesudocp-i/etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config方式二:

calico-rbac.yml:

kubectlapply-fcalico-rbac.ymlkubectlapply-fcalico.yml检查各节点组件运行状态:

root@master01:~#kubectlgetnodesNAMESTATUSROLESAGEVERSIONmaster01Readymaster13mv1.21.6root@master01:~#kubectlgetpo-nkube-systemNAMEREADYSTATUSRESTARTSAGEcalico-kube-controllers-697d964cc4-p8jcn1/1Running032scalico-node-wg9l41/1Running032scoredns-89cc84847-l48q81/1Running013mcoredns-89cc84847-mf5nr1/1Running013mkube-apiserver-master011/1Running012mkube-controller-manager-master011/1Running012mkube-proxy-9l2871/1Running013mkube-scheduler-master011/1Running012m9安装Master02和Master03节点在master02,master03上执行加入集群命令:

kubeadmjoinapi.k8s.com:6443--tokenvbcbuv.osci507haylbl00i\--discovery-token-ca-cert-hashsha256:87540f79ca94e422f3600a1e4d3e8669d0f4125d46877e296b790810a1f9aade\--control-plane--certificate-key8a36d44089b5a08270e511834ebd3f2a39be6644a78a702fbb1b6f1fceb8ea1f可以查看下各节点及组件运行状态:

root@master01:~#kubectlgetnodesNAMESTATUSROLESAGEVERSIONmaster01Readymaster25mv1.21.6master02Readymaster8m6sv1.21.6master03Readymaster7m33sv1.21.6root@master01:~#kubectlgetpo-nkube-systemNAMEREADYSTATUSRESTARTSAGEcalico-kube-controllers-697d964cc4-p8jcn1/1Running012mcalico-node-lvnl81/1Running07m35scalico-node-p8h5z1/1Running08m9scalico-node-wg9l41/1Running012mcoredns-89cc84847-l48q81/1Running025mcoredns-89cc84847-mf5nr1/1Running025mkube-apiserver-master011/1Running024mkube-apiserver-master021/1Running08m9skube-apiserver-master031/1Running07m35skube-controller-manager-master011/1Running024mkube-controller-manager-master021/1Running08m9skube-controller-manager-master031/1Running07m35skube-proxy-9l2871/1Running025mkube-proxy-jmsfb1/1Running08m9skube-proxy-wzh621/1Running07m35skube-scheduler-master011/1Running024mkube-scheduler-master021/1Running08m9skube-scheduler-master031/1Running07m35s10安装Node节点Master节点安装好了Node节点就简单了,在各个Node节点上执行。

kubeadmjoinapi.k8s.com:6443--tokenvbcbuv.osci507haylbl00i\--discovery-token-ca-cert-hashsha256:87540f79ca94e422f3600a1e4d3e8669d0f4125d46877e296b790810a1f9aade11DNS集群部署删除原单点coredns

kubectldeletedeploycoredns-nkube-system部署多实例的coredns集群,参考配置coredns.yml:

kubectlapply-fmetrics-server.yaml查看监控数据:

kubectlgetsecrets-nkube-system|grepk8dash-sa-token|awk'{print$1}'|xargskubectldescribesecret-nkube-system暴露本地端口到Master01访问测试:

kubernetes中的Service暴露到外部有三种方式,分别是:

LoadBlancerService是kubernetes深度结合云平台的一个组件;当使用LoadBlancerService暴露服务时,实际上是通过向底层云平台申请创建一个负载均衡器来向外暴露服务;目前LoadBlancerService支持的云平台已经相对完善,比如国外的GCE、DigitalOcean,国内的阿里云,私有云Openstack等等,由于LoadBlancerService深度结合了云平台,所以只能在一些云平台上来使用。

NodePortService顾名思义,实质上就是通过在集群的每个node上暴露一个端口,然后将这个端口映射到某个具体的service来实现的,虽然每个node的端口有很多(0~65535),但是由于安全性和易用性(服务多了就乱了,还有端口冲突问题)实际使用可能并不多。

Ingress可以实现使用nginx等开源的反向代理负载均衡器实现对外暴露服务,可以理解Ingress就是用于配置域名转发的一个东西,在nginx中就类似upstream,它与ingress-controller结合使用,通过ingress-controller监控到pod及service的变化,动态地将ingress中的转发信息写到诸如nginx、apache、haproxy等组件中实现方向代理和负载均衡。

Traefik-ingress-controller是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。它支持多种后台(Docker,Swarm,Kubernetes,Marathon,Mesos,Consul,Etcd,Zookeeper,BoltDB,RestAPI,file…)来自动化、动态的应用它的配置文件设置。

相比起Nginx,Traefik更轻量,速度更快,配置更简单,不过功能及拓展性不如Nginx丰富多样,各位可根据实际情况选择。

本次部署中,将Traefik-ingress部署到master01、master02、master03上,监听宿主机的80端口:

Namespace和RBAC角色配置:

针对单个应用开启TLS安全访问的步骤:

修改TraefikConfigmap配置文件中的entryPoints,修改更新Configmap后需要重建Traefik容器以便快速应用新的配置。

entryPoints:web:address:":80"##配置80端口,并设置入口名称为webwebsecure:address:":443"##配置443端口,并设置入口名称为websecure创建证书Secret可以使用自建证书或购买证书,自建证书为不受信任证书,地址栏访问时会提示不安全。

#生成证书opensslreq-newkeyrsa:4096-nodes-sha256-keyoutcerts/cloudnil.com.key-x509-days365-outcerts/cloudnil.com.crt#创建证书Secretkubectlcreatesecrettlstls-cert--cert=cloudnil.com.crt--key=cloudnil.com.key-nkube-system修改k8dash的Ingress配置,可以使用原生Ingress或者Traefik拓展的IngressRoute(二选一)。

THE END
1.飞腾开发者飞腾开发者关注linux,centos领域.https://blog.csdn.net/developersupport
2.C#/.NET/.NETCore技术前沿周刊第16期(2024年12.01C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。https://cloud.tencent.com.cn/developer/article/2475796
3.张善友(net)[置顶].NET Core也是国产化信息系统开发的重要选项 摘要: 在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片、服务器、存储、交换机、路由器;底层软件,包括操作系统、数据库、中间件等;应用软件,面向实际应用的不同领域;安全产品,保障边界安全、https://www.cnblogs.com/shanyou/default.html
4.我要自学网AcrobatArtCAMArtFormCorelDRAWComicstudioIllustratorlightroomID建筑方案PhotoshopSketchSurfMillUIVI北京精雕摄影修图印刷制版服装设计/打版计算机等级考试方正飞腾ArtiosCAD 更多 超美证件照精修系列教程 微型小课 Illustrator脚本开发教程 平面广告设计喷绘写真篇教程 治愈系绘本插画课 https://www.51zxw.net/
5.苏州飞腾电器有限公司苏州飞腾电器有限公司长期从事各种低压电器、电气成套设备生产,公司遵循 :“周密策划,严谨控制,追求更好,为顾客提供期望的产品与服务”的质量方针,建立了完善的质量保证体系。http://www.aijes.net/
6.郑州飞腾物流有限公司飞腾物流网址:261487.56114.net.cn 地址:新郑市新 ***连接线与中华路交叉口西南角乾龙物流园飞腾物流 1、河南省天弘物流有限公司 2、郑州国联货运有限公司 3、郑州川渝物流有限公司 4、郑州三和物流有限公司 5、河南远航大运供应链管理有限公司 6、郑州冠畅物流(原平顺物流)内蒙全境 http://261487.56114.net.cn/
7.高安市飞腾新材料科技有限公司水玻璃高安市飞腾新材料科技有限公司是一家专注于生产和销售水玻璃、减水剂、硅酸钠的生产厂家,提供水玻璃、减水剂及相关产品定制生产,公司主营水玻璃,减水剂,高效减水剂,稀释剂,解胶剂,泡花碱,硅酸钠,聚羧酸母液,混凝土外加剂等;产品质优,性价比高,欢迎来电详谈。http://www.ftxcl.net/
8.飞腾时光万物互联 连接未来 提供智能化运营方案 行业资讯 2020年中国基站滤波器行业发展概述及市场发展前景分析:5G滤波器市场空间 一、基站滤波器概述 滤波器是什么?智研咨询发布的《2020-2026年中国基站滤波器行业市场现状调研及市场发展前景报告》 2020年中国蜂窝通信模组市场应用情况及市场发展前景分析:政策利好,行业迎发展良机https://www.mobilecn.net/
9.正文卷第235章霞光层叠,雾龙飞腾最新网址:www.95dushu.net 岁星真人、赤发真人等法相期真人开始撤离,松风观和焚尽山修士们也陷入了慌乱中,尤其是焚尽山修士。 松风观的几名元婴真人是知道这次行动的,他们只是惊慌于自家掌门等人竟然败了而已,因此反应还算迅速,正在山鬼宗高手的围攻中进行撤退。 焚尽山的人就惨了,为了保密,他们根本就不知道http://www.xfjxs.com/163/163792/55509234.html
10.飞腾汽配精准查询系统qpnet.cn网站网址:http://qpnet.cn 发布者IP:未记录发布者IP 网站标签:飞腾汽配精准查询系统 网站内容描述(仅供参考): 飞腾汽配精准查询系统(qpnet.cn)。 网站Alexa排名趋势: 网站收藏|认领|报错: 通过本站收藏该站通过浏览器收藏该站该站认领和更新网址报错 http://www.fwol.cn/gotoweb.php?id=5604225
11.银河麒麟飞腾MYSQL离线安装包银河麒麟数据库四、.net连接DM数据库 dm提供了多种开发语言的驱动程序,位于数据库安装目录的drivers目录下。.net驱动位于该目录dotNet文件夹,我们使用DmProvider进行数据库连接,DmProvider实现了ADO.NET的接口 根据项目类型,复制相应的DmProvider.dll到项目中,并在项目中引用 https://blog.51cto.com/u_16213719/8386254
12.海航飞腾海运双清含税到门飞腾转运DHLFedExUPSTNT我司基于DHL ,EMS,FEDEX,UPS,TNT良好合作关系,拥有多个签约渠道。建立维护了自己的国际物流品牌---飞腾转运。专业从事于私人物品国际转运,商业包裹国际转运。衔接海外华人侨胞和留学生的运输及情感纽带。 服务项目 ->国际快递业务: 长期代理香港/大陆DHL,EMS,FedEx,EMS,UPS,TNT。并且与国外代理强强合作,开辟多http://www.high-fast.net/
13.飞腾的新一代服务器CPU和桌面CPU在市场上的表现如何?中国长城(000066)回答生来注定:尊敬的投资者,您好。飞腾公司是公司参股企业,其新品的推广推动了相关应用行业的数字化转型和升级?,感谢您的关注。中国https://ir.p5w.net/question/dd1a5a3f0553453eb0439a799abde3db.shtml
14.飞腾航空联系我们动画容器模板展示 地址:安徽省合肥市高新区明珠大道198号G2栋101 电话:+86 551 6286 1828 简介:安徽省飞腾航空科技有限公司 地址:安徽省合肥市明珠大道198号G2栋101 电话:0551 6286 1828 邮箱:sales@fiate.net 安徽省飞腾航空科技有限公司欢迎您的咨询 http://www.fiate.net/contactus.html
15.飞腾CPU与嵌入式系统飞腾BEX01A嵌入式主板介绍 飞腾BEX01A网络性能测试数据 飞腾CEX01A COMe主板介绍 飞腾BEX01A主板Uboot烧录指南 关于飞腾 联系我们 用户常见问题 飞腾系统软件发行版比较(debian-arm64/NetONE) 飞腾系统更新记录(Debian) 飞腾系统更新记录(NetONE) 如何制作飞腾系统盘(NetONE) https://wiki.gxwatek.com/
16.飞腾CPU如何使用PXE方式安装麒麟桌面系统?找到与飞腾PC机相连的网口,配置其IP为192.168.50.242,配置网关192.168.50.1。DNS不要设置。 (这个IP地址一定要记好,后面很多配置都和这个IP相关。) 图6 | x86 笔记本防火墙关闭 同时要关闭x86笔记本的所有防火墙。 02 文件依赖环境搭建 新建一个文件夹,这里建在E盘,取名为pxe。将netbootaa64.efi(前面“环境准备”https://developer.aliyun.com/article/1291846
17.飞腾物流单号查询官网(飞腾物流单号怎么查)飞腾物流单号查询官网(飞腾物流单号怎么查) 飞腾物流单号查询官网http://www.ft56.net/https://m.by56.com/news/18786.html
18.英飞腾(中国)有限公司1级动力电池 2023-01-11 公司介绍 英飞腾的使命是通过可持续能源让世界保持活力。 作为唯一真正可运输清洁能源,我们知道氢在未来的能源结构中将扮演重要角色。我们将具有卓越设计能力的工业工程师与才华横溢的绿色能源专家组合,以崭新视角全盘思考氢能利用,以此不断推出满足世界最苛刻工业应用需求的一流氢能解决方案。 [http://yftzg.h2fc.net/
19.飞腾/鲲鹏CPU安装说明飞腾/鲲鹏 CPU 安装说明? Paddle Inference 支持基于飞腾/鲲鹏 CPU 的推理部署, 当前仅支持通过源码编译的方式安装。系统要求? 当前Paddle Inference resnet50 # 4) 下载推理模型 wget https://paddle-inference-dist.bj.bcebos.com/Paddle-Inference-Demo/resnet50.tgz tar xzf resnet50.tgz # 5)https://www.paddlepaddle.org.cn/inference/guides/hardware_support/cpu_phytium_cn.html
20.20221127银河麒麟飞腾LINUX启动台式电脑的WIFI热点方法1、在USB口插上一个TPLINK的无线网卡 2、鼠标左键单击电脑右下角的网络连接图标 3、左键单击齿轮图标, 表示 设置网络 4、在弹出的窗口中,点击左下角的 + 号https://www.jianshu.com/p/85c600c363c5
21.东软NetEye下一代防火墙(FW)东软NetEye国产化防火墙系列产品是基于国产化硬件平台和国产操作系统自主研发的下一代防火墙产品,其通过模块化设计,集防火墙、VPN、DoS/DDoS攻击防御、入侵防御、防病毒、邮件过滤、URL过滤、应用协议识别与控制等多项尖端安全技术于一身,为用户提供安全可信的一体化边界安全解决方案。 https://neteye.neusoft.com/1660/