I have just followed the steps in the blog and first service tutorials and couldn't trigger the same problem.
There are four authorizations a Ziti service needs to function:
- service (dial) policy allows a client identity (tunneler proxy or SDK)
- service (bind) policy allows a hosting identity (tunneler reverse proxy or SDK)
- service edge router policy allows the service to use one of the online, in-common routers
- edge router policy allows the client and hosting identities to use one of the online, in-common routers
We've established these authorizations were granted, so it must be a connectivity or configuration problem for the router or controller, or both.
Let's check the controller log, too, for error messages, and dump the controller and router configuration YAML.
Will you post these as text instead of screenshots, if possible?
kubectl --namespace ziti logs --selector app.kubernetes.io/component=ziti-controller --tail=-1
kubectl --namespace ziti logs --selector app.kubernetes.io/component=ziti-router --tail=-1
kubectl --namespace ziti get configmap ziti-controller-config -o go-template='{{index .data "ziti-controller.yaml" }}'
kubectl --namespace ziti get configmap ziti-router-config -o go-template='{{index .data "ziti-router.yaml" }}'
You may find it helpful to filter the logs by level. Here's how I found only error level logs from the controller container. This is a common error to show the expected format. You need the jq
command if not already installed.
kubectl logs \
--namespace=ziti \
--selector=app.kubernetes.io/component=ziti-controller \
--tail=-1 \
--container=ziti-controller \
| jq 'select(.level == "error")'
{
"_context": "tls:0.0.0.0:1280",
"error": "remote error: tls: bad certificate",
"file": "github.com/openziti/transport/v2@v2.0.131/tls/listener.go:257",
"func": "github.com/openziti/transport/v2/tls.(*sharedListener).processConn",
"level": "error",
"msg": "handshake failed",
"remote": "10.42.0.1:36096",
"time": "2024-06-04T16:14:56.700Z"
}