このコンテンツは選択した言語では利用できません。

Chapter 2. Interacting with OpenShift


CDK creates a virtual machine and provisions a local, single-node OpenShift cluster in this VM. The following sections describe how CDK can assist you in interacting and configuring your local OpenShift cluster.

For details about managing the CDK VM, see the Basic Usage section.

2.1. Using the OpenShift Client Binary (oc)

2.1.1. Overview

The minishift start command creates an OpenShift cluster using the cluster up approach. For this purpose it copies the oc binary onto your host.

The oc binary is located in the $MINISHIFT_HOME/cache/oc/v3.6.173.0.21 directory, assuming that you use CDK’s default version of OpenShift. You can add this binary to your PATH using minishift oc-env, which displays the command you need to type into your shell.

The output of minishift oc-env differs depending on the operating system and the shell type.

$ minishift oc-env
export PATH="/Users/john/.minishift/cache/oc/v3.6.173.0.21:$PATH"
# Run this command to configure your shell:
# eval $(minishift oc-env)
Copy to Clipboard Toggle word wrap

2.1.2. CDK CLI Profile

As a part of the minishift start command, a 'minishift' CLI profile is also created. This profile, also known as a context, contains the configuration to communicate with your OpenShift cluster.

CDK activates this context automatically, but if you need to switch back to it after, for example, logging into another OpenShift instance, you can run:

$ oc config use-context minishift
Copy to Clipboard Toggle word wrap

For an introduction to oc usage, see the Get Started with the CLI topic in the OpenShift documentation.

2.1.3. Logging Into the Cluster

By default, cluster up uses AllowAllPasswordIdentityProvider to authenticate against the local cluster. This means any non-empty user name and password can be used to login to the local cluster.

The recommended user name and password is developer and developer, respectively. This is because they are already assigned to the default project myproject and also can impersonate the administrator. This allows you to run administrator commands using the --as system:admin parameter.

To login as administrator, use the system account:

$ oc login -u system:admin
Copy to Clipboard Toggle word wrap

In this case, client certificates are used. The certificates are stored in ~/.kube/config. The cluster up command installs the appropriate certificates as a part of the bootstrap.

Note

If you run the command oc login -u system -p admin, you will log in but not as an administrator. Instead, you will be logged in as an unprivileged user with no particular rights.

To view the available login contexts, run:

$ oc config view
Copy to Clipboard Toggle word wrap

2.1.4. Accessing the Web Console

To access the OpenShift Web console, you can run this command in a shell after running the minishift command to get the URL of the Web console:

$ minishift console --url
Copy to Clipboard Toggle word wrap

Alternatively, after starting CDK, you can use the following command to directly open the console in a browser:

$ minishift console
Copy to Clipboard Toggle word wrap

2.1.5. Accessing OpenShift Services

To access a service that is exposed with a route, run this command in a shell:

$ minishift openshift service [-n NAMESPACE] [--url] NAME
Copy to Clipboard Toggle word wrap

To list all the services in the OpenShift instance, run this command in a shell:

$ minishift openshift service list
Copy to Clipboard Toggle word wrap

For more information on exposing services refer also to Exposing Services.

2.1.6. Viewing OpenShift Logs

To access OpenShift logs, run the logs command after starting CDK:

$ minishift logs
Copy to Clipboard Toggle word wrap

2.1.7. Updating OpenShift Configuration

While OpenShift is running, you can view and change the master or the node configuration of your cluster.

To view the OpenShift master configuration file master-config.yaml, run the following command:

$ minishift openshift config view
Copy to Clipboard Toggle word wrap

To show the node configuration instead of the master configuration, specify the target flag.

Note

After you update the OpenShift configuration, OpenShift will transparently restart.

2.1.7.1. Example: Configuring cross-origin resource sharing

In this example, you configure cross-origin resource sharing (CORS) by updating the OpenShift master configuration to allow additional IP addresses to request resources.

By default, OpenShift only allows cross-origin resource requests from the IP address of the cluster or from localhost. This setting is stored in the corsAllowedOrigins property of the master configuration file master-config.yaml.

To change the property value and allow cross-origin requests from all domains, run the following command:

$  minishift openshift config set --patch '{"corsAllowedOrigins": [".*"]}'
Copy to Clipboard Toggle word wrap
Note

If you get the error The specified patch need to be a valid JSON. when you run the above command, you need to modify the above command depending on your Operating System, your shell environment and its interpolation behavior.

For example, if you use PowerShell on Windows 7 or 10, modify the above command to:

$ minishift openshift config set --patch '{\"corsAllowedOrigins\": [\".*\"]}'
Copy to Clipboard Toggle word wrap

If you use Command Prompt you might need to use:

$ minishift openshift config set --patch "{\"corsAllowedOrigins\": [\".*\"]}"
Copy to Clipboard Toggle word wrap

2.1.7.2. Example: Changing the OpenShift routing suffix

In this example, you change the OpenShift routing suffix in the master configuration.

If you use a static routing suffix, you can set the routing-suffix flag as part of the minishift start command. By default, The minishift command uses a dynamic routing prefix based on nip.io, in which the IP address of the VM is a part of the routing suffix, for example 192.168.99.103.nip.io.

If you experience issues with nip.io, you can use xip.io, which is based on the same principles.

To set the routing suffix to xip.io, run the following command:

$ minishift openshift config set --patch '{"routingConfig": {"subdomain": "<IP-ADDRESS>.xip.io"}}'
Copy to Clipboard Toggle word wrap

Make sure to replace IP-ADDRESS in the above example with the IP address of your CDK VM. You can retrieve the IP address by running the minishift ip command.

2.2. Exposing Services

2.2.1. Overview

There are several ways you can expose your service after you deploy it on OpenShift. The following sections describes the various methods and when to use them.

2.2.2. Routes

If you are deploying a Web application, the most common way to expose it is by a route. A route exposes the service as a host name. You can create a route using the Web console or the CLI:

oc expose svc/frontend --hostname=www.example.com
Copy to Clipboard Toggle word wrap

To see a full example of creating an application and exposing it with a route, see the Deploying a Sample Application section.

2.2.3. NodePort Services

In case the service you want to expose is not HTTP based, you can create a NodePort service. In this case, each OpenShift node will proxy that port into your service. To access this port on your CDK VM, you need to configure an Ingress IP using oc expose with the parameter type=LoadBalancer.

A common use-case for Ingress IP Self-Service is the ability to expose a database service. The following example shows the complete workflow to create and expose a MariaDB instance using the minishift and oc commands:

$ minishift start
$ eval $(minishift oc-env)
$ oc new-app -e MYSQL_ROOT_PASSWORD=admin https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mariadb-persistent-template.json
$ oc rollout status -w dc/mariadb
$ oc expose dc mariadb --type=LoadBalancer --name=mariadb-ingress
$ oc export svc mariadb-ingress
 ....
ports:
    - nodePort: 30907
 ....
Copy to Clipboard Toggle word wrap

After the service is exposed, you can access MariaDB with the mysql CLI using CDK VM IP and the exposed NodePort service.

$ mysql --user=root --password=foo --host=$(minishift ip) --port=30907
Copy to Clipboard Toggle word wrap

2.2.4. Port Forwarding

If you want to quickly access a port of a specific pod of your cluster, you can also use the oc port-forward command of the OpenShift CLI.

$ oc port-forward POD [LOCAL_PORT:]REMOTE_PORT
Copy to Clipboard Toggle word wrap

2.3. Accessing the OpenShift Docker Registry

2.3.1. Overview

OpenShift provides an integrated Docker registry which can be used for development as well. Images present in the registry can directly be used for applications, speeding up the local development workflow.

2.3.2. Logging Into the Registry

  1. Run the minishift start command and add the oc binary to the PATH (based on output from the minishift oc-env command)
  2. Make sure your shell is configured to reuse the CDK docker daemon.
  3. Log into the OpenShift Docker registry.

     $ docker login -u developer -p $(oc whoami -t) $(minishift openshift registry)
    Copy to Clipboard Toggle word wrap

2.3.3. Deploying Applications

The following example shows how to deploy an OpenShift application directly from a locally-built docker image. This example uses the OpenShift project myproject. This project is automatically created by minishift start.

  1. Make sure your shell is configured to reuse the CDK docker daemon.
  2. Build the docker image as usual.
  3. Tag the image against the OpenShift registry.

     $ docker tag my-app $(minishift openshift registry)/myproject/my-app
    Copy to Clipboard Toggle word wrap
  4. Push the image to the registry to create an image stream with the same name as the application.

     $ docker push $(minishift openshift registry)/myproject/my-app
    Copy to Clipboard Toggle word wrap
  5. Create an application from the image stream and expose the service.

     $ oc new-app --image-stream=my-app --name=my-app
     $ oc expose service my-app
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat