Jenkins slave on k8s cannot communicate with master node

My Jenkins environment: 2.452.1

I have setup a controller and agent Jenkins on the same k8s cluster and namespace. agent pod is from Jenkins-inbound agent. When I triggered a build job, agent pod can be created successfully. But from Jenkins web console it always shows the agent pod as offline

In web console when click into the agent pod, it shows error message like this

The most commonly used option is -webSocket. Run java -jar agent.jar -help for more.

The TCP port is disabled so TCP agents may not be connected. You may still use WebSocket agents. Go to the security configuration screen and change it.

The instance-identity plugin appears to be missing. This would prevent you from connecting a TCP agent. You may still use WebSocket agents. Install it now.

WebSockets are not supported in this Jenkins installation. You may still use TCP agents.

Note: PowerShell users must use curl.exe instead of curl because curl is a default PowerShell cmdlet alias for Invoke-WebRequest.

Agent security setting is setup as below

Any idea why it happens?

try installing Instance Identity