受Model 3注册量下降影响,一季度特斯拉在加州的汽车注册量同比小幅下降
06-18
前言:后端小伙伴准备提供pvp对战服务。配置中心选型选用阿里云的nacos服务。
参考 支持基于DNS和基于RPC的服务发现。服务提供者使用原生SDK、OpenAPI或者独立的Agent TODO注册Service后,服务消费者可以使用DNS TODO或者HTTP&API来查找和发现服务。
提供对服务的实时健康检查,阻止来自不健康主机或服务实例的请求 **动态配置服务:** Nacos 提供统一的配置管理功能,可以帮助我们集中化、外部化、动态配置配置。管理所有环境的应用程序配置和服务配置。
**动态DNS服务:** Nacos支持动态DNS服务加权路由,这使得我们可以轻松地为数据中心内网实现中间层负载均衡、更灵活的路由策略、流量控制以及简单的DNS解析服务。 **服务和元数据管理:** Nacos从微服务平台建设的角度支持对数据中心内所有服务和元数据的管理,包括管理服务描述、生命周期、服务的静态依赖分析、服务的健康状态、流量管理、服务的路由和安全策略、服务的 SLA 以及最重要的指标统计。
嗯,还有更多功能列表... 1、nacos 在 kubernetes 上的基本安装过程,请参考:创建命名空间** 嗯,当然第一步是创建命名空间来构建 nacos 服务: **代码语言:txt copy kubectl create ns nacos2. git clone 仓库代码语言:txt 复制git clone 并上传到服务器。 3、部署并初始化MySQL服务器用于生产,必须使用云提供商的云数据库,例如腾讯云的RDS服务。
由于我只是给了程序一个demo供他们玩,所以我谈到了将mysql集成到kubernetes中。 **个人存储存储类别均使用默认的腾讯云cbs-csi。
****cd /nacos-k8s/mysql (当然我上传的目录路径是**/root/nacos/nacos-k8s-master/deploy/mysql**)** 1.部署mysql服务cat pvc。 yaml代码语言:txt copy apiVersion: v1kind: PersistentVolumeClaimmetadata: name: nacos-mysql-pvc namespace: nacosspec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: cbs-csimysql的部署文件直接复制到mysql-ceph.yaml修改了一下: cat mysql.yaml 代码语言:txt copy apiVersion: v1kind: PersistentVolumeClaimmetadata: name: nacos-mysql-pvc namespace: nacosspec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: cbs-csi[root@ sh -master-01 mysql]# cat mysql.yaml apiVersion: v1kind: ReplicationControllemetadata: 名称: mysql 标签: 名称: mysqlspec: 副本: 1 选择器: 名称: mysql 模板: 元数据: 标签: 名称: mysql 规范: 容器: - 名称: mysql 镜像:nacos/nacos-mysql:5.7 端口:-containerPort:env:-名称:MYSQL\_ROOT\_PASSWORD 值:“root” - 名称:MYSQL\_DATABASE 值:“nacos\_devtest” - 名称:MYSQL\_USER 值:“nacos” - 名称:MYSQL\_PASSWORD 值:“nacos”volumeMounts: - 名称:mysql-持久存储挂载路径:/var/lib/mysql 子路径:mysql 只读:假卷:-名称:mysql-持久存储 persistVolumeClaim:声明名称:nacos-mysql-pvc---apiVersion:v1kind:Servicemetadata:名称:mysql 标签:名称: mysqlspec: ports: - 端口: targetPort: 选择器: 名称: mysql 代码语言: txt copy kubectl apply -f pvc.yamlkubectl apply -f mysql.yaml -n nacoskubectl get pods -n nacos 等待 mysql pod 运行代码语言: txt 复制 $kubectl get pods -n nacosNAME 就绪状态重新启动 AGEmysql-hhs5q 1/1 运行 0 3h51m2。
进入mysql容器执行初始化脚本代码语言:txt 复制 kubectl exec -it mysql-hhs5q bash -n nacosmysql -uroot -p root \*\*\*\*\*create database nacos\_devtest;use nacos\_devtest;### 为了省事,我直接把sql脚本复制进去了... exit4 。从mysql目录部署nacos cd ../nacoscat nacos.yaml 代码语言: txt copy ---apiVersion: v1kind: Servicemetadata: name: nacos-headless labels: app: nacos comments: service.alpha.kubernetes.io/tolerate-未就绪端点:“true”规范:端口:-端口:名称:服务targetPort:-端口:名称:rpc targetPort:clusterIP:无选择器:app:nacos---apiVersion:v1kind:ConfigMapmetadata:名称:nacos-cmdata: mysql.db.name: "nacos\_devtest" mysql.port: "" mysql.user: "nacos" mysql.password: "nacos"---apiVersion: apps/v1kind: StatefulSetmetadata: name: nacosspec: serviceName: nacos-无头副本:3 个模板:元数据:标签:应用程序:nacos 注释:pod.alpha.kubernetes.io/initialized:“true”规格:亲和力:podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: "app" 操作符: In 值: - nacos topologyKey: "kubernetes.io/hostname" initContainers: - name:peer-finder-plugin-install 镜像: nacos/nacos-peer -finder-plugin:1.0 imagePullPolicy: 始终volumeMounts: - mountPath: /home/nacos/plugins/peer-finde 名称: plguindi 容器: - 名称: nacos imagePullPolicy: 始终图像: nacos/nacos-server:最新资源: 请求: 内存:“2Gi”cpu:“m”端口:-containerPort:名称:客户端端口-containerPort:名称:rpc env:-name: NACOS\_REPLICAS 值: "2" - 名称: SERVICE\_NAME 值: "nacos-headless" - 名称: DOMAIN\_NAME 值: "layabox.daemon" - 名称: POD\_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath :metadata.namespace - 名称:MYSQL\_SERVICE\_DB\_NAME valueFrom:configMapKeyRef:名称:nacos-cm key:mysql.db.name - 名称:MYSQL\_SERVICE\_PORT valueFrom:configMapKeyRef:名称:nacos-cm key:mysql .port - 名称:MYSQL\_SERVICE\_USER valueFrom:configMapKeyRef:名称:nacos-cm key:mysql.use - 名称:MYSQL\_SERVICE\_PASSWORD valueFrom:configMapKey参考:名称:nacos-cm 密钥:mysql.password - 名称:NACOS\_SERVER\_PORT 值:“” - 名称:NACOS\_APPLICATION\_PORT 值:“” - 名称:PREFER\_HOST\_MODE 值:“主机名”volumeMounts : - 名称:plguindi 安装路径:/home/nacos/plugins/peer-finde - 名称:datadi 安装路径:/home/nacos/data - 名称:logdi 安装路径:/home/nacos/logs volumeClaimTemplates: - 元数据:名称:plguindi 规范:accessModes:[“ReadWriteOnce”] storageClassName:“cbs-csi”资源:请求:存储:10Gi - 元数据:名称:datadi规范:accessModes:[“ReadWriteOnce”] storageClassName:“cbs-csi”资源:请求:storage: 10Gi -metadata: name: logdi spec: accessModes: [ "ReadWriteOnce" ] storageClassName: "cbs-csi" resources: requests: storage: 10Gi selector: matchLabels: app: nacos 主要把 storageclassName 改为 cbs-csi 并修改accessmodes,**DOMAIN_NAME变量修改为自己命名的集群后缀。
简单的demo就不详细讨论了。 **代码语言:txt copy kubectl apply -f nacos.yaml -n nacos waiting service runningimage.png5。
对外暴露的服务代理个人使用的是traefik。以前使用 ingressroute 来映射和暴露服务给外界,现在使用 ingress 方法: cat ingress.yaml 代码语言:txt 复制 apiVersion:networking.k8s.io/v1kind: Ingressmetadata: name: nacos- headless-http 命名空间:nacos 注释:kubernetes.io/ingress.class:traefik traefik.ingress.kubernetes.io/router.entrypoints:webspec:规则:- 主机:nacos-server.saynaihe.com http:路径:- pathType:前缀路径: / backend: service: name: nacos-headless port: number: kubectl apply -f ingress.yaml access: :nacos nacos.当然,第一件事就是改密码……image.png 好了,就交给程序来玩吧。
还有很多配置的东西被省略了。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用