Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a types command #2914

Merged
merged 3 commits into from
Jun 8, 2015
Merged

Conversation

smarterclayton
Copy link
Contributor

Part of #2628

$ oc types
OpenShift Concepts and Types

OpenShift helps developers and operators build, test, and deploy applications in
a containerized cloud environment. Applications may be composed of all of the
components below, although most developers will be concerned with Services,
Deployments, and Builds for delivering changes.

Concepts:

* Containers:
    A definition of how to run one or more processes inside of a portable Linux
    environment. Containers are started from an Image and are usually isolated
    from other containers on the same machine.

* Image:
    A layered Linux filesystem that contains application code, dependencies,
    and any supporting operating system libraries. An image is identified by
    a name that can be local to the current cluster or point to a remote Docker
    registry (a storage server for images).

* Pods [pod]:
    A set of one or more containers that are deployed onto a Node together and
    share a unique IP and Volumes (persistent storage). Pods also define the
    security and runtime policy for each container.

* Labels:
    Labels are key value pairs that can be assigned to any resource in the
    system for grouping and selection. Many resources use labels to identify
    sets of other resources.

* Volumes:
    Containers are not persistent by default - on restart their contents are
    cleared. Volumes are mounted filesystems available to Pods and their
    containers which may be backed by a number of host-local or network
    attached storage endpoints. The simplest volume type is EmptyDir, which
    is a temporary directory on a single machine. Administrators may also
    allow you to request a Persistent Volume that is automatically attached
    to your pods.

* Nodes [node]:
    Machines set up in the cluster to run containers. Usually managed
    by administrators and not by end users.

* Services [svc]:
    A name representing a set of pods (or external servers) that are
    accessed by other pods. The service gets an IP and a DNS name, and can be
    exposed externally to the cluster via a port or a Route. It's also easy
    to consume services from pods because an environment variable with the
    name <SERVICE>_HOST is automatically injected into other pods.

* Routes [route]:
    A route is an external DNS entry (either a top level domain or a
    dynamically allocated name) that is created to point to a service so that
    it can be accessed outside the cluster. The administrator may configure
    one or more Routers to handle those routes, typically through an Apache
    or HAProxy load balancer / proxy.

* Replication Controllers [rc]:
    A replication controller maintains a specific number of pods based on a
    template that match a set of labels. If pods are deleted (because the
    node they run on is taken out of service) the controller creates a new
    copy of that pod. A replication controller is most commonly used to
    represent a single deployment of part of an application based on a
    built image.

* Deployment Configuration [dc]:
    Defines the template for a pod and manages deploying new images or 
    configuration changes whenever those change. A single deployment 
    configuration is usually analogous to a single micro-service. Can support 
    many different deployment pattrens, including full restart, customizable 
    rolling updates, and fully custom behaviors, as well as pre- and post- 
    hooks. Each deployment is represented as a replication controller.

* Build Configuration [bc]:
    Contains a description of how to build source code and a base image into a
    new image - the primary method for delivering changes to your application.
    Builds can be source based and use builder images for common languages like
    Java, PHP, Ruby, or Python, or be Docker based and create builds from a
    Dockerfile. Each build configuration has web-hooks and can be triggered
    automatically by changes to their base images.

* Image Streams and Image Stream Tags [is,istag]:
    An image stream groups sets of related images under tags - analogous to a
    branch in a source code repository. Each image stream may have one or
    more tags (the default tag is called "latest") and those tags may point
    at external Docker registries, at other tags in the same stream, or be
    controlled to directly point at known images. In addition, images can be
    pushed to an image stream tag directly via the integrated Docker 
    registry.

* Projects [project]:
    All of the above resources (except Nodes) exist inside of a project.
    Projects have a list of members and their roles, like viewer, editor,
    or admin, as well as a set of security controls on the running pods, and
    limits on how many resources the project can use. The names of each
    resource are unique within a project. Developers may request projects
    be created, but administrators control the resources allocated to
    projects.

For more, see https://docs.openshift.com

Usage:
  oc types [options]

Examples:
  // View all projects you have access to
  $ oc projects

  // See a list of all services in the current project
  $ oc get svc

  // Describe a deployment configuration in detail
  $ oc describe dc mydeploymentconfig

  // Show the images tagged into an image stream
  $ oc describe is ruby-centos7

Use "oc --help" for a list of all commands available in oc.
Use "oc options" for a list of global command-line options (applies to all commands).

@smarterclayton
Copy link
Contributor Author

[test]

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/test SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pull_requests_origin/2955/)

@smarterclayton smarterclayton mentioned this pull request Jun 8, 2015
24 tasks
@smarterclayton
Copy link
Contributor Author

[merge]

@smarterclayton
Copy link
Contributor Author

Approved

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/merge SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pull_requests_origin/2955/) (Image: devenv-fedora_1755)

@openshift-bot
Copy link
Contributor

Evaluated for origin up to ebf8e4e

@derekwaynecarr
Copy link
Member

I am guessing the policy type was too advanced for inclusion?

@derekwaynecarr
Copy link
Member

Do we have a corresponding command in admin or do we need one to show users, policy, etc types?

@smarterclayton
Copy link
Contributor Author

Arbitrary line. AT some point this list gets unmanageable and we need to support subtopic but I was too tired to do it. Service Accounts and some other things are probably before policy.

----- Original Message -----

I am guessing the policy type was too advanced for inclusion?


Reply to this email directly or view it on GitHub:
#2914 (comment)

openshift-bot pushed a commit that referenced this pull request Jun 8, 2015
@openshift-bot openshift-bot merged commit 45b370e into openshift:master Jun 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants