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

长沙百度网站推广公司制作只有一张图片的网站

长沙百度网站推广公司,制作只有一张图片的网站,方正悠黑使用网站建设侵权么,php网站开发工资多少钱本文档将详细阐述如何利用 Helm 这一强大的工具#xff0c;快速而高效地在 K8s 集群上安装并配置一个 Kafka 集群。 实战服务器配置(架构 1:1 复刻小规模生产环境#xff0c;配置略有不同) 主机名IPCPU内存系统盘数据盘用途ksp-registry192.168.9.904840200Harbor 镜像仓库…本文档将详细阐述如何利用 Helm 这一强大的工具快速而高效地在 K8s 集群上安装并配置一个 Kafka 集群。 实战服务器配置(架构 1:1 复刻小规模生产环境配置略有不同) 主机名IPCPU内存系统盘数据盘用途ksp-registry192.168.9.904840200Harbor 镜像仓库ksp-control-1192.168.9.914840100KubeSphere/k8s-control-planeksp-control-2192.168.9.924840100KubeSphere/k8s-control-planeksp-control-3192.168.9.934840100KubeSphere/k8s-control-planeksp-worker-1192.168.9.9481640100k8s-worker/CIksp-worker-2192.168.9.9581640100k8s-workerksp-worker-3192.168.9.9681640100k8s-workerksp-storage-1192.168.9.974840400ElasticSearch/Longhorn/Ceph/NFSksp-storage-2192.168.9.984840300ElasticSearch/Longhorn/Cephksp-storage-3192.168.9.994840300ElasticSearch/Longhorn/Cephksp-gpu-worker-1192.168.9.10141640100k8s-worker(GPU NVIDIA Tesla M40 24G)ksp-gpu-worker-2192.168.9.10241640100k8s-worker(GPU NVIDIA Tesla P100 16G)ksp-gateway-1192.168.9.1032440自建应用服务代理网关/VIP192.168.9.100ksp-gateway-2192.168.9.1042440自建应用服务代理网关/VIP192.168.9.100ksp-mid192.168.9.1054840100部署在 k8s 集群之外的服务节点Gitlab 等合计15681526002100 实战环境涉及软件版本信息 操作系统openEuler 22.03 LTS SP3 x86_64KubeSpherev3.4.1Kubernetesv1.28.8KubeKey: v3.1.1Bitnami Kafka Helm Charts29.3.13Kafka 3.7.1 1. 前提条件 目前在 K8s 集群部署 Kafka 的主流方案有以下几种 手写资源配置清单麻烦涉及的组件、配置多Kafka Helm chart Bitnami 出品简单可定制但是需要花时间成本学习可配置参数 经过细致的调研、思考本文选择采用 Bitnami 的 Kafka Helm chart 进行部署。Bitnami 提供的 Helm chart 以其稳定性和易用性著称是快速部署 Kafka 到 Kubernetes 集群的理想选择。 编写本文的目的是为了验证 Kafka Helm chart 的部署可行性并评估其在实际应用中的表现。为了确保过程的顺利和提高成功几率以下部署配置进行了适度简化某些配置并不符合生产环境的标准。 外部访问安全协议使用了 PLAINTEXT 关闭了访问认证默认值为 SASL_PLAINTEXT。生产环境务必开启认证。外部访问使用了 NodePort 模式默认 StorageClass 使用了 NFS没有考虑数据持久化的配置 对于计划在生产环境部署的用户我建议详细参考 Bitnami 官方文档以获取更全面的配置指导和最佳实践。我认为生产环境应该考虑的几项配置如下 外部访问安全协议选择PLAINTEXT, SASL_PLAINTEXT, SASL_SSL 和 SSL 中的哪种方式加密认证方式数据、日志持久化配置k8s 集群外部访问 Kafka 的方式NodePort 是否合适是否需要使用 LoadBalancer、Ingress 内否启用内置的监控 Metrics是否利用 Helm 生成 Kubectl 可用的资源配置清单离线部署 2. 使用 Helm 安装 Kafka 集群 2.1 安装 Kafka Helm Chart 添加 Kafka Helm repository helm repo add bitnami https://charts.bitnami.com/bitnami 更新本地 charts helm repo update bitnami 2.2 安装 Kafka 官方默认安装命令仅供参考本文未用 helm install my-release oci://registry-1.docker.io/bitnamicharts/kafka 按规划设置自定义配置项执行下面的安装命令 helm install opsxlab bitnami/kafka \--namespace opsxlab --create-namespace \--set replicaCount3 \--set global.imageRegistryregistry.opsxlab.cn:8443 \--set global.defaultStorageClassnfs-sc \--set externalAccess.enabledtrue \--set externalAccess.controller.service.typeNodePort \--set externalAccess.controller.service.nodePorts[0]31211 \--set externalAccess.controller.service.nodePorts[1]31212 \--set externalAccess.controller.service.nodePorts[2]31213 \--set externalAccess.controller.service.useHostIPstrue \--set listeners.client.protocolPLAINTEXT \--set listeners.external.protocolPLAINTEXT 自定义配置说明 指定并自动创建命名空间 opsxlab 设置组件的镜像地址本文为了演示修改方法使用了内部的镜像仓库实际使用中请修改为自己的镜像仓库地址设置默认的持久化存储类为 nfs-sc适用于 K8s 有多种存储类需要部署到指定存储类的场景开启外部访问并设置相关参数加密认证方式选择了 PLAINTEXT 正确执行后输出结果如下 : $ helm install opsxlab bitnami/kafka \--set externalAccess.controller.service.nodePorts[1]31212 \--namespace opsxlab --create-namespace \--set replicaCount3 \--set global.imageRegistryregistry.opsxlab.cn:8443 \--set global.defaultStorageClassnfs-sc \--set externalAccess.enabledtrue \--set externalAccess.controller.service.typeNodePort \--set externalAccess.controller.service.nodePorts[0]31211 \--set externalAccess.controller.service.nodePorts[1]31212 \--set externalAccess.controller.service.nodePorts[2]31213 \--set externalAccess.controller.service.useHostIPstrue \--set listeners.client.protocolPLAINTEXT \--set listeners.external.protocolPLAINTEXT NAME: opsxlab LAST DEPLOYED: Wed Jul 30 22:08:38 2024 NAMESPACE: opsxlab STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: CHART NAME: kafka CHART VERSION: 29.3.13 APP VERSION: 3.7.1 ---------------------------------------------------------------------------------------------WARNINGBy specifying serviceTypeLoadBalancer and not configuring the authenticationyou have most likely exposed the Kafka service externally without anyauthentication mechanism.For security reasons, we strongly suggest that you switch to ClusterIP orNodePort. As alternative, you can also configure the Kafka authentication.---------------------------------------------------------------------------------------------** Please be patient while the chart is being deployed **Kafka can be accessed by consumers via port 9092 on the following DNS name from within your cluster:opsxlab-kafka.opsxlab.svc.cluster.localEach Kafka broker can be accessed by producers via port 9092 on the following DNS name(s) from within your cluster:opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092To create a pod that you can use as a Kafka client run the following commands:kubectl run opsxlab-kafka-client --restartNever --image registry.opsxlab.cn:8443/bitnami/kafka:3.7.1-debian-12-r4 --namespace opsxlab --command -- sleep infinitykubectl exec --tty -i opsxlab-kafka-client --namespace opsxlab -- bashPRODUCER:kafka-console-producer.sh \--broker-list opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092 \--topic testCONSUMER:kafka-console-consumer.sh \--bootstrap-server opsxlab-kafka.opsxlab.svc.cluster.local:9092 \--topic test \--from-beginning To connect to your Kafka controllerbroker nodes from outside the cluster, follow these instructions:Kafka brokers domain: You can get the external node IP from the Kafka configuration file with the following commands (Check the EXTERNAL listener)1. Obtain the pod name:kubectl get pods --namespace opsxlab -l app.kubernetes.io/namekafka,app.kubernetes.io/instanceopsxlab,app.kubernetes.io/componentkafka2. Obtain pod configuration:kubectl exec -it KAFKA_POD -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listenersKafka brokers port: You will have a different node port for each Kafka broker. You can get the list of configured node ports using the command below:echo $(kubectl get svc --namespace opsxlab -l app.kubernetes.io/namekafka,app.kubernetes.io/instanceopsxlab,app.kubernetes.io/componentkafka,pod -o jsonpath{.items[*].spec.ports[0].nodePort} | tr \n)WARNING: There are resources sections in the chart not set. Using resourcesPreset is not recommended for production. For production installations, please set the following values according to your workload needs:- controller.resources info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ 2.3 查看安装结果 Helm 安装命令成功执行后观察 Pod 运行状态。 kubectl get pods -n opsxlab 安装成功后输出结果如下 : $ kubectl get pods -n opsxlab NAME READY STATUS RESTARTS AGE opsxlab-kafka-controller-0 1/1 Running 0 1m17s opsxlab-kafka-controller-1 1/1 Running 0 1m17s opsxlab-kafka-controller-2 1/1 Running 0 1m17s KubeSphere 管理控制台查看部署的组件信息。 StatefulSet1个 Services5个 3. 验证测试 Kafka 服务可用性 分别在 K8s 集群内和集群外验证 Kafka 服务的可用性。 3.1 K8s 集群内部验证 在 K8s 集群内的验证过程可以参考 Helm 部署 Kafka 时给出的提示信息。 创建测试 Pod kubectl run opsxlab-kafka-client --restartNever --image registry.opsxlab.cn:8443/bitnami/kafka:3.7.1-debian-12-r4 --namespace opsxlab --command -- sleep infinity 打开测试 Pod 终端 kubectl exec --tty -i opsxlab-kafka-client --namespace opsxlab -- bash 执行命令生产数据 kafka-console-producer.sh \--broker-list opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092 \--topic test 再打开一个测试 Pod 终端消费数据 再打开一个终端后先执行 第 2 步打开测试 Pod 终端的命令然后再执行下面的命令。 kafka-console-consumer.sh \--bootstrap-server opsxlab-kafka.opsxlab.svc.cluster.local:9092 \--topic test \--from-beginning 生产并消费数据测试 在生产者一侧随便输入测试数据观察消费者一侧是否正确收到信息。 生产者侧 I have no name!opsxlab-kafka-client:/$ kafka-console-producer.sh --broker-list opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092 --topic test cluster kafka test 1 cluster kafka test 2 消费者侧 I have no name!opsxlab-kafka-client:/$ kafka-console-consumer.sh \--bootstrap-server opsxlab-kafka.opsxlab.svc.cluster.local:9092 \--topic test \--from-beginningcluster kafka test 1 cluster kafka test 2 3.2 k8s 集群外部验证 为了更严谨的测试 Kafka 在 K8s 集群外的可用性我在 K8s 集群外找了一台机器安装 JDK 和 Kafka。安装方式上 JDK 选择了 Yum 安装 openjdkKafka 则选用了官方提供的二进制包。 实际测试时还可以选择 Docker 镜像或是在 K8s 集群上再创建一个 Pod测试时连接 K8s 节点的宿主机 IP 和 NodePort。 准备外部测试环境 # 安装 JDK yum install java-1.8.0-openjdk# 下载 Kafka cd /srv wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz# 解压 tar xvf kafka_2.13-3.7.1.tgz cd /srv/kafka_2.13-3.7.1/bin 获取 Kafka 外部访问配置信息 一共 3个 Kafka Pod每个 Pod 的 advertised.listeners 配置不同在 K8s 控制节点分别执行下面的命令 kubectl exec -n opsxlab -it opsxlab-kafka-controller-0 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners kubectl exec -n opsxlab -it opsxlab-kafka-controller-1 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners kubectl exec -n opsxlab -it opsxlab-kafka-controller-2 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners 正确执行后输出结果如下 : $ kubectl exec -n opsxlab -it opsxlab-kafka-controller-0 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners Defaulted container kafka out of: kafka, kafka-init (init) advertised.listenersCLIENT://opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,INTERNAL://opsxlab-kafka-controller-0.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9094,EXTERNAL://192.168.9.125:31211$ kubectl exec -n opsxlab -it opsxlab-kafka-controller-1 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners Defaulted container kafka out of: kafka, kafka-init (init) advertised.listenersCLIENT://opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,INTERNAL://opsxlab-kafka-controller-1.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9094,EXTERNAL://192.168.9.124:31212$ kubectl exec -n opsxlab -it opsxlab-kafka-controller-2 -- cat /opt/bitnami/kafka/config/server.properties | grep advertised.listeners Defaulted container kafka out of: kafka, kafka-init (init) advertised.listenersCLIENT://opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9092,INTERNAL://opsxlab-kafka-controller-2.opsxlab-kafka-controller-headless.opsxlab.svc.cluster.local:9094,EXTERNAL://192.168.9.126:31213 外部节点连接 Kafka 测试 跟 K8s 集群内部验证测试过程一样打开两个终端运行生产者和消费者脚本。执行下面的命令验证测试(细节略过直接上结果)。 外部生产者侧 $ ./kafka-console-producer.sh --broker-list 192.168.9.125:31211 --topic test external kafka test 3 external kafka test 4 外部消费者侧 $ ./kafka-console-consumer.sh --bootstrap-server 192.168.9.125:31211 --topic test --from-beginningcluster kafka test 1 cluster kafka test 2 external kafka test 3 external kafka test 4 注意 外部消费者能消费到所有数据包括集群内部测试时生成的数据。 集群内消费者侧 集群内的消费者同样能获取外部生产者产生的数据。 I have no name!opsxlab-kafka-client:/$ kafka-console-consumer.sh \--bootstrap-server opsxlab-kafka.opsxlab.svc.cluster.local:9092 \--topic test \--from-beginningcluster kafka test 1 cluster kafka test 2 external kafka test 3 external kafka test 4 免责声明 笔者水平有限尽管经过多次验证和检查尽力确保内容的准确性但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。本文所述内容仅通过实战环境验证测试读者可学习、借鉴但严禁直接用于生产环境。由此引发的任何问题作者概不负责 本文由博客一文多发平台 OpenWrite 发布
http://www.hkea.cn/news/14525897/

相关文章:

  • 网站维护与建设考试做网站的费用计入哪个科目
  • 做的好的茶叶网站wordpress frame
  • 石家庄网站建设哪家好深圳广胜达建设公司
  • 网站导航漂浮代码如意宝魔方建站
  • 网站建设和网站设计一样吗该网站正在紧急升级维护中
  • 网站ar怎么做哈尔滨人才招聘信息网
  • 专门做各种产品测评的网站5g互联如何取消网站备案
  • 做移动网站首页软网站怎么做外链
  • 视频网站焦点图郑州百度推广公司地址
  • 西安做网站朋朋有用免费模板网
  • 财经网站源码 织梦wiki wordpress
  • 企业做网站优劣网络运营者应当为()
  • 网站建设 统一质量标准企业网站优化软件
  • 网站做百度排名教程wordpress文章页特色
  • 厦门海沧建设局网站做网站的步骤 优帮云
  • 网站开发后如何维护seo是什么姓
  • 做网站做的网页开发价格
  • 做关于什么的网站做网站策划书
  • 湘潭高端网站建设如何做公众号微信
  • 做网站需要什么代码网站域名空间地址
  • 英德建设局网站山东省建设科技协会网站
  • 做微课的网站有哪些方面办公室装修设计方案范本
  • 购买的网站平台建设服务计入广州网站制作知名 乐云践新
  • 手机网站制作注意事项婚庆策划公司的商业模式
  • 昌平石家庄网站建设外贸网站建设的好处
  • 如何检测网站是否安全网站建设商务通什么意思
  • 网站集约化建设报告深圳网络推广最新招聘
  • 福州网站设计网址网站服务费网络建设会计分录
  • 买公司的网站建设白头鹰网站一天可以做多少任务
  • 做问卷调查赚钱的网站好泊头在哪做网站比较好