如何配置solace舵图以在kubeadm集群上使用

时间:2019-08-07 14:22:36

标签: kubernetes solace

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

安慰头盔图的安装步骤如下:

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控制器(这是我们的情况)。

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

Solace提供了各种各样的示例“ values.yaml” ..尽管乍一看并不能说明如何在kubeadm集群上获得慰藉。

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

因此,对Solace和/或Kubernetes专家来说,我的简单问题是...更新我的头盔图表配置文件(values.yaml)以便暴露诸如solace admin port( 8080-我相信)以一种易于使用的方式?

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

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以将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