Skip to content

Instantly share code, notes, and snippets.

@bketelsen
Last active March 20, 2024 07:10
Show Gist options
  • Save bketelsen/a2d353d0318736c9fa23 to your computer and use it in GitHub Desktop.
Save bketelsen/a2d353d0318736c9fa23 to your computer and use it in GitHub Desktop.
This gist represents all the manifests you'll need to run a redundant and fault-tolerant NSQ cluster on Kubernetes. NSQ Admin's http interface is available on port 14171 on any node. There's an issue with NSQ Admin if you're running more than one lookupd service, so I recommend running just one lookupd until I figure it out.
{
"id": "nsqadmin-http",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14171,
"protocol": "TCP",
"selector": { "name": "nsqadmin" }
}
{
"id": "nsqadminController",
"kind": "ReplicationController",
"apiVersion": "v1beta1",
"desiredState": {
"replicas": 1,
"replicaSelector": {"name": "nsqadmin"},
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "nsqadmin",
"containers": [{
"name": "nsqd",
"image": "bketelsen/nsqadmin",
"ports": [{"containerPort": 4171}],
}]
}
},
"labels": {"name": "nsqadmin"}
}},
"labels": {"name": "nsqadmin"}
}
{
"id": "nsqd-http",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14151,
"containerPort": 4151,
"protocol": "TCP",
"selector": { "name": "nsqd" }
}
{
"id": "nsqd-tcp",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14150,
"containerPort": 4150,
"protocol": "TCP",
"selector": { "name": "nsqd" }
}
{
"id": "nsqdController",
"kind": "ReplicationController",
"apiVersion": "v1beta1",
"desiredState": {
"replicas": 5,
"replicaSelector": {"name": "nsqd"},
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "nsqd",
"volumes": {["name": "nsqdpersistence"]},
"containers": [{
"name": "nsqd",
"image": "bketelsen/nsqd:latest",
"volumes": {["name":"nsqdpersistence","mountPath":"/data"]},
"ports": [{"containerPort": 4150},
{"containerPort":4151}]
}]
}
},
"labels": {"name": "nsqd"}
}},
"labels": {"name": "nsqd"}
}
{
"id": "nsqlookupd-http",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14161,
"containerPort": 4161,
"protocol": "TCP",
"selector": { "name": "nsqlookupd" }
}
{
"id": "nsqlookupd-tcp",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14160,
"containerPort": 4160,
"protocol": "TCP",
"selector": { "name": "nsqlookupd" }
}
{
"id": "nsqlookupdController",
"kind": "ReplicationController",
"apiVersion": "v1beta1",
"desiredState": {
"replicas": 3,
"replicaSelector": {"name": "nsqlookupd"},
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "nsqlookupdController",
"containers": [{
"name": "nsqlookupd",
"image": "nsqio/nsqlookupd",
"ports": [{"containerPort": 4160},
{"containerPort":4161}]
}]
}
},
"labels": {"name": "nsqlookupd"}
}},
"labels": {"name": "nsqlookupd"}
}
@antonio-piha
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment