Hello,
I started the Consul service with Helm Chart in Kubernetes Cluster.
NAME READY STATUS RESTARTS AGE
pod/consul-consul-connect-injector-5b95dfdd4-wdl99 1/1 Running 5 (10d ago) 40d
pod/consul-consul-server-0 1/1 Running 0 40d
pod/consul-consul-webhook-cert-manager-5b8d655688-jgs94 1/1 Running 0 40d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
AGE
service/consul-consul-connect-injector ClusterIP 10.43.67.255 <none> 443/TCP
40d
service/consul-consul-dns ClusterIP 10.43.66.247 <none> 53/TCP,53/UDP
40d
service/consul-consul-server ClusterIP None <none> 8500/TCP,8502/TCP,8301/TCP,8301/UDP,8302/TCP,8302/UDP,8300/TCP,8600/TCP,8600/UDP 20s
service/consul-consul-ui LoadBalancer 10.43.225.12 10.40.188.228 80:31669/TCP
40d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/consul-consul-connect-injector 1/1 1 1 40d
deployment.apps/consul-consul-webhook-cert-manager 1/1 1 1 40d
NAME DESIRED CURRENT READY AGE
replicaset.apps/consul-consul-connect-injector-5b95dfdd4 1 1 1 40d
root@cpek8scp1:~/manifests/consul#
NAME READY AGE
statefulset.apps/consul-consul-server 1/1 40d
When I want to register a service via HTTP API, I get the following error:
node-exporter.json:
{
"ID": "example",
"Name": "example",
"Tags": ["primary", "v1"],
"Address": "10.40.189.24",
"Port": 8000,
"Meta": {
"redis_version": "4.0"
},
"EnableTagOverride": false,
"Check": {
"DeregisterCriticalServiceAfter": "90m",
"Args": ["curl http://10.40.189.24"],
"Interval": "10s",
"Timeout": "5s"
},
"Weights": {
"Passing": 10,
"Warning": 1
}
}
$curl --request PUT --data @node-exporter.json http://10.40.188.228/v1/agent/service/register?replace-existing-checks=true
$Scripts are disabled on this agent from remote calls; to enable, configure 'enable_script_checks' to true
In short, I want my services that register with my Consul service running in Kubernetes via HTTP API to perform health checks. How do I activate this?