The WebLogic Remote Console is a lightweight, open source console that does not need to be collocated with a WebLogic Server domain. It is an alternative to the WebLogic Server Administration Console. You can install and run the Remote Console anywhere. For an introduction, read the blog, “The NEW WebLogic Remote Console”. For detailed documentation, see the WebLogic Remote Console.
A major benefit of using the Remote Console is that it runs in your browser or a desktop application, and can be used to connect to different WebLogic Server instances. You can use the Remote Console with WebLogic Server slim installers, available on the OTN or OSDC. Slim installers reduce the size of WebLogic Server downloads, installations, container images, and Kubernetes pods. For example, a WebLogic Server 12.2.1.4 slim installer download is approximately 180 MB smaller.
The Remote Console is deployed as a standalone Java program, which can connect to multiple WebLogic Server Administration Servers using REST APIs. You connect to the Remote Console and, when prompted, supply the WebLogic Server login credentials along with the URL of the WebLogic Server Administration Server’s administration port to which you want to connect.
Note: An Administration Server administration port typically is the same as its default port unless either an SSL port or an administration port is configured and enabled.
Externally exposing administrative, RMI, or T3 capable WebLogic channels
using a Kubernetes NodePort
, load balancer,
port forwarding, or a similar method can create an insecure configuration.
For more information, see External network access security.
To set up access to WebLogic Server domains running in Kubernetes using the Remote Console:
Install, configure, and start the Remote Console according to these instructions.
NOTE: These instructions assume that you are installing and running the Remote Console Java program externally to your Kubernetes cluster.
When you first connect your browser to the Remote Console, which is at http://localhost:8012
by default, the console will prompt you with a login dialog for a WebLogic Server Administration Server URL. To give the Remote Console access to an Administration Server running in Kubernetes, you can:
Use an Administration Server NodePort
.
Deploy a load balancer with ingress path routing rules.
Note: If you want to customize the Remote Console listen address, then see Specify a Listen Address for the Remote Console Host. This is useful if you want to run the Remote Console on a different machine than your browser, or if you want the Remote Console to use SSL.
NodePort
For the Remote Console to connect to the Kubernetes WebLogic Server Administration Server’s NodePort
, use the following URL after you have connected to the Remote Console
with your browser and it
prompts for the location of your WebLogic Server Administration Server:
http://hostname:adminserver-NodePort/
The adminserver-NodePort
is the port number of the Administration Server outside the Kubernetes cluster.
For information about the NodePort
Service on an Administration Server, see the Domain resource document.
For an example of setting up the NodePort
on an Administration Server,
see Use a NodePort
for WLST.
Configure an ingress path routing rule. For information about ingresses, see the Ingress documentation.
For an example, see the following path-routing
YAML file for a Traefik load balancer:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
annotations:
kubernetes.io/ingress.class: traefik
name: traefik-pathrouting-1
namespace: weblogic-domain
spec:
routes:
- kind: Rule
match: PathPrefix(`/`)
services:
- kind: Service
name: domain1-adminserver
namespace: weblogic-domain
port: 7001
After you have connected to the Remote Console with your browser, it will prompt for the location of your WebLogic Server Administration Server. For the Remote Console to connect to the Kubernetes WebLogic Server Administration Server, supply a URL that resolves to the load balancer host and ingress that you supplied in the previous step. For example:
http://${HOSTNAME}:${LB_PORT}/
Where:
${HOSTNAME}
is where the ingress load balancer is running.
To determine the ${LB_PORT}
when using a Traefik load balancer:
$ export LB_PORT=$(kubectl -n traefik get service traefik-operator -o jsonpath='{.spec.ports[?(@.name=="web")].nodePort}')
kubectl port-forward
connectionForward a local port (that is external to Kubernetes) to the administration port of the Administration Server Pod according to these instructions.
NOTE: If you plan to run the Remote Console Java program
on a different machine than the port forwarding command,
then the port forwarding command needs to specify a --address
parameter
with the IP address of the machine that is hosting the command.
After you have connected to the Remote Console with your browser,
it will prompt you for the location of your WebLogic Server Administration
Server.
Supply a URL using the local hostname or IP address
from the port-forward
command in the first step, plus the local port from
this same command. For example:
http://${LOCAL_HOSTNAME}:${LOCAL_PORT}/
Where:
${LOCAL_HOSTNAME}
is the hostname or the defined IP address of the machine
where the kubectl port-forward
command is running. This is
customizable on the port-forward
command and is localhost
or 127.0.0.1
, by default.
${LOCAL_PORT}
is the local port where the kubectl port-forward
command is running.
This is specified on the port-forward
command.
To verify that your WebLogic Server Administration Server URL is correct, and to verify that that your load balancer,
NodePort
, or kubectl port-forward
are working as expected, run the following curl commands at the same location as your browser:
$ curl --user username:password \
http://${HOSTNAME}:${LB_PORT}/management/weblogic/latest/domainRuntime?fields=name\&links=none ; echo
$ curl --user username:password \
http://${HOSTNAME}:${LB_PORT}/management/weblogic/latest/serverRuntime?fields=name\&links=none ; echo
These commands access the REST interface of the WebLogic Server Administration Server in a way that is similar to the Remote Console’s use of REST.
If successful, then the output from the two commands will be {"name": "your-weblogic-domain-name"}
and {"name": "your-weblogic-admin-server-name"}
, respectively.
If you want to see the full content of the domainRuntime and serverRuntime beans, then rerun the commands
but remove ?fields=name\&links=none
, which is appended at the end of each URL.