【问题标题】:How to configure solace helm chart for use on a kubeadm cluster如何配置 solace helm chart 以在 kubeadm 集群上使用
【发布时间】:2019-08-07 14:22:36
【问题描述】:

我们有一个私有的 Kubernetes 集群。我们正在尝试按照这些快速入门说明安装 solace。 https://github.com/SolaceProducts/solace-kubernetes-quickstart

solace helm chart安装步骤如下:

git clone https://github.com/SolaceProducts/solace-kubernetes-quickstart.git
cd solace-kubernetes-quickstart/solace  
../scripts/configure.sh -p admin
helm install . -f values.yaml

默认的 yaml 是从克隆中提取的 https://github.com/SolaceProducts/solace-kubernetes-quickstart/blob/master/solace/values.yaml

安装基本成功。

[root@togo solace]# kubectl get pods
NAME                                          READY   STATUS      RESTARTS   AGE
brawny-walrus-solace-0                        1/1     Running     0          41m
[root@togo solace]# kubectl get statefulsets
NAME                   READY   AGE
brawny-walrus-solace   1/1     42m

但是,默认的服务集包括一个负载均衡器和一个挂起的外部 IP

[root@togo solace]# kubectl get services
NAME                             TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                                                                                AGE
brawny-walrus-solace             LoadBalancer   10.101.58.127   <pending>     22:31475/TCP,8080:30940/TCP,55555:30575/TCP,55003:32142/TCP,55443:32096/TCP,943:30133/TCP,80:32276/TCP,443:30643/TCP   43m
brawny-walrus-solace-discovery   ClusterIP      None            <none>        8080/TCP                                                                                                               43m

快速堆栈搜索似乎表明这是因为负载平衡器希望在云中工作,并带有外部负载平衡器:

kubernetes service external ip pending

此外,其中一个答案建议在使用自定义 kubeadm 集群(这是我们的案例)时使用 Ingress Controller。

https://stackoverflow.com/a/44112285/2025407

Solace 提供了各种示例“values.yaml”。尽管乍一看这些示例并不建议如何让 solace 在 kubeadm 集群上工作。

https://github.com/SolaceProducts/solace-kubernetes-quickstart/tree/master/solace/values-examples

所以我对 Solace 和/或 Kubernetes 专家的简单问题是……我更新 helm chart 配置文件 (values.yaml) 以公开诸如 solace 管理端口 ( 8080 - 我相信)以一种易于访问的方式?

如果 helm chart 不支持此配置(我认为它必须),那么我还可以创建适当的服务或服务来正确公开慰藉资源..但这不是获得慰藉的最佳方式图表工作。

提前感谢您对此提供的任何帮助。

【问题讨论】:

    标签: kubernetes solace


    【解决方案1】:

    您可以将service.type参数设置为NodePort

    这里有一个简单的例子来演示 NodePort 的使用。

    helm repo add solacecharts https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts
    helm install my-release solacecharts/pubsubplus-dev --set service.type=NodePort,storage.persistent=false
    

    按照helm status my-release 中的说明找出端口。

    例子:

    $ echo -e "\nProtocol\tAddress\n"`kubectl get svc --namespace default my-release-pubsubplus-dev -o jsonpath="{range .spec.ports[*]}{.name}\t<NodeIP>:{.nodePort}\n"`
    
    Protocol        Address
    ssh     <NodeIP>:31359
    semp    <NodeIP>:30522
    semptls <NodeIP>:30891
    smf     <NodeIP>:30019
    smfcomp <NodeIP>:32518
    smftls  <NodeIP>:30791
    web     <NodeIP>:31568
    webtls  <NodeIP>:30087
    amqp    <NodeIP>:32427
    mqtt    <NodeIP>:32060
    rest    <NodeIP>:30746
    

    请注意,这只是一个示例,并不适合生产。例如,未使用持久存储,这意味着所有假脱机消息都可能丢失。

    有关 Solace Kubernetes 快速入门的更多详细信息,请参阅 https://github.com/SolaceProducts/pubsubplus-kubernetes-quickstart

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 2019-04-18
      • 2022-11-14
      • 2021-03-25
      • 1970-01-01
      相关资源
      最近更新 更多