Getting started with z/OS Container Extensions and Docker

Book description

IBM® z/OS® Container Extensions (IBM zCX) is a new feature of the next version of the IBM z/OS Operating System (z/OS V2.4). It makes it possible to run Linux on IBM Z® applications that are packaged as Docker container images on z/OS. Application developers can develop, and data centers can operate, popular open source packages, Linux applications, IBM software, and third-party software together with z/OS applications and data.
This IBM Redbooks® publication helps you to understand the concepts, business perspectives and reference architecture for installing, tailoring, and configuring zCX in your own environment.

Table of contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Chapter 1. Introduction
    1. 1.1 z/OS Container Extensions overview
    2. 1.2 Container concepts
      1. 1.2.1 Why do we have containers
      2. 1.2.2 Docker overview
    3. 1.3 zCX architecture
    4. 1.4 Why use z/OS Container Extensions
      1. 1.4.1 Qualities of service
      2. 1.4.2 Colocation of applications and data
      3. 1.4.3 Security
      4. 1.4.4 Consolidation
      5. 1.4.5 Example use cases
    5. 1.5 Additional considerations
  5. Chapter 2. z/OS Container Extensions planning
    1. 2.1 Prerequisites
      1. 2.1.1 IBM Z hardware
      2. 2.1.2 z/OS Version 2, Release 4
      3. 2.1.3 z/OS Management Facility (z/OSMF)
      4. 2.1.4 Base DASD requirements
      5. 2.1.5 Planning for network connectivity
    2. 2.2 Planning for containers
    3. 2.3 Private registry considerations
    4. 2.4 Backup and recovery considerations
  6. Chapter 3. Security - Overview
    1. 3.1 zCX instance security
      1. 3.1.1 Implications of zCX running as a started task
      2. 3.1.2 zCX RACF planning
      3. 3.1.3 RACF groups and user IDs for zCX
      4. 3.1.4 zFS files and VSAM linear data sets
      5. 3.1.5 USS directory and files
      6. 3.1.6 TCPIP Networking
      7. 3.1.7 z/OSMF
      8. 3.1.8 Other data sets
    2. 3.2 Security within the zCX instance
      1. 3.2.1 Linux in the zCX instance
      2. 3.2.2 The SSH container
      3. 3.2.3 zCX administration user IDs
    3. 3.3 Docker in zCX versus Docker on distributed
      1. 3.3.1 Docker capabilities of the SSH container
      2. 3.3.2 Considerations regarding the mounting of file systems
  7. Chapter 4. Provisioning and managing your first z/OS Container
    1. 4.1 Overview of zCX provisioning process
    2. 4.2 RACF planning
      1. 4.2.1 Overview
      2. 4.2.2 The zCX Admin user ID
      3. 4.2.3 Planning the first logon to a zCX instance
      4. 4.2.4 Create RACF groups
      5. 4.2.5 Create RACF user IDs
      6. 4.2.6 Create SSH Keys
    3. 4.3 USS planning
      1. 4.3.1 zCX directories
    4. 4.4 z/OSMF
      1. 4.4.1 z/OSMF configuration
    5. 4.5 Configure TCPIP addresses
    6. 4.6 SMS planning
    7. 4.7 zCX property file
      1. 4.7.1 Customizing the properties file
      2. 4.7.2 Setting the SSH key in property file
    8. 4.8 Run zCX provisioning workflow
      1. 4.8.1 Log on to z/OSMF
      2. 4.8.2 Select the zCX provisioning workflow
      3. 4.8.3 Execute the first step of the workflow
      4. 4.8.4 Execute remaining workflow steps
      5. 4.8.5 Viewing created instance directory
      6. 4.8.6 Obtain the command to start the zCX instance
    9. 4.9 Starting the zCX instance
      1. 4.9.1 Assigning user ID that zCX instance runs under
      2. 4.9.2 Access to zCX instance directory by the zCX started task
      3. 4.9.3 Start the zCX instance
      4. 4.9.4 Check zCX startup messages
      5. 4.9.5 Step failure in the workflow
    10. 4.10 Log on to the zCX instance
    11. 4.11 Reconfiguring a zCX instance
      1. 4.11.1 What is reconfigured?
      2. 4.11.2 Checking current settings
      3. 4.11.3 Create reconfiguration zCX workflow
      4. 4.11.4 Execute the reconfiguration workflow
      5. 4.11.5 Stop and start the zCX instance
      6. 4.11.6 Verifying reconfiguration changes
    12. 4.12 Adding a volume to a zCX instance
      1. 4.12.1 Overview
      2. 4.12.2 Checking default disk space allocation
      3. 4.12.3 Create add data disks zCX workflow
      4. 4.12.4 Run the Add Data Disks workflow
      5. 4.12.5 Stop and start the zCX instance
      6. 4.12.6 Verifying Add Data Disk changes
    13. 4.13 Deprovisioning a zCX instance
      1. 4.13.1 Create deprovisioning zCX workflow
      2. 4.13.2 Execute the deprovision workflow
      3. 4.13.3 Verify that the zCX instance has been deprovisioned
    14. 4.14 Other provisioning workflows
    15. 4.15 How to rerun a workflow
  8. Chapter 5. Your first running Docker container in zCX
    1. 5.1 Overview of the process
      1. 5.1.1 Provision your instance
      2. 5.1.2 Get a Docker image to run
      3. 5.1.3 Start your image
      4. 5.1.4 Access the provided service by the image
    2. 5.2 Get an image from Docker Hub
      1. 5.2.1 Download from Docker Hub
      2. 5.2.2 Download via a local Repository
      3. 5.2.3 Load the image from a .tar file
    3. 5.3 Run your Docker image on z/OS
      1. 5.3.1 hello-world
      2. 5.3.2 HTTP Server (nginx)
      3. 5.3.3 Enhanced installation
    4. 5.4 Managing your Docker image
      1. 5.4.1 Start
      2. 5.4.2 Display
      3. 5.4.3 Stop
      4. 5.4.4 Terminate
  9. Chapter 6. Private registry implementation
    1. 6.1 Private registry overview
    2. 6.2 Tag discussion for images
    3. 6.3 Building a private registry image
    4. 6.4 Running a local private registry
      1. 6.4.1 Stopping a private registry
      2. 6.4.2 Removing a private registry
    5. 6.5 Deploying a secure private registry
      1. 6.5.1 When zCX appliance is behind a firewall
    6. 6.6 Creating TLS certificates on Windows or Macintosh
    7. 6.7 Working with tags
    8. 6.8 Deleting an image from a private Docker registry
    9. 6.9 Using the private registry to create containers
  10. Chapter 7. Operation
    1. 7.1 Software maintenance
      1. 7.1.1 Maintenance for zCX
      2. 7.1.2 Maintenance for containers
      3. 7.1.3 Building and maintaining your own image
    2. 7.2 Automation
      1. 7.2.1 Automating zCX instances
      2. 7.2.2 Automating containers
    3. 7.3 Backup and recovery
      1. 7.3.1 Backup and recovery on zCX instance level
      2. 7.3.2 Backup and recovery on container level
    4. 7.4 Diagnosis
      1. 7.4.1 Ways to check healthiness of zCX
      2. 7.4.2 Gathering problem data for zCX
    5. 7.5 Monitoring with RMF on zCX instance level
      1. 7.5.1 RMF overview display
      2. 7.5.2 RMF CPC capacity
      3. 7.5.3 RMF job information
    6. 7.6 Configuring Grafana to monitor zCX containers
      1. 7.6.1 Install Node-Exporter
      2. 7.6.2 Install cAdvisor
      3. 7.6.3 Install Prometheus
      4. 7.6.4 Installation of Grafana
      5. 7.6.5 Adding Prometheus as data source to Grafana
      6. 7.6.6 Creating a first dashboard
    7. 7.7 Monitoring with Grafana on container level
      1. 7.7.1 Adjusting the dashboard
      2. 7.7.2 Instance level data
      3. 7.7.3 Container level data
  11. Chapter 8. Integrating container applications with other processes on z/OS
    1. 8.1 Interconnecting IBM MQ on z/OS with IBM MQ in zCX
      1. 8.1.1 Objectives
      2. 8.1.2 Architecture
      3. 8.1.3 Scenario
      4. 8.1.4 Implementation
    2. 8.2 Accessing Db2 from within Docker container when you are using Jupyter Notebook
      1. 8.2.1 What is a Jupyter Notebook
      2. 8.2.2 Scenario
      3. 8.2.3 Creating a Docker Image with Jupyter installed
      4. 8.2.4 Using a Jupyter Notebook to access Db2
    3. 8.3 Accessing application in a zCX container from z/OS
      1. 8.3.1 Target application in Docker container
      2. 8.3.2 Setting up the etcd container
      3. 8.3.3 Build the etcd Docker image
      4. 8.3.4 Run the etcd Docker image
      5. 8.3.5 The z/OS application to call etcd
      6. 8.3.6 Detail on setting up an etcd container
      7. 8.3.7 Summary
  12. Chapter 9. zCX user administration
    1. 9.1 Local user management
      1. 9.1.1 Adding Docker users
    2. 9.2 Configuring zCX to use an LDAP server
      1. 9.2.1 LDAP server configuration
      2. 9.2.2 Creating the LDAP configuration file
      3. 9.2.3 Enabling LDAP server authentication through z/OSMF Workflows
    3. 9.3 Resources on the provisioning server and verifying that LDAP is enabled
  13. Chapter 10. Persistent data
    1. 10.1 Overview
    2. 10.2 Using Docker volumes for persistent data
  14. Chapter 11. Swarm on zCX
    1. 11.1 Swarm introduction
    2. 11.2 zCX in swarm mode
      1. 11.2.1 Removing node from swarm
      2. 11.2.2 Initializing swarm mode
      3. 11.2.3 Adding node manager to the cluster
      4. 11.2.4 Adding worker nodes to the manager node
      5. 11.2.5 Creating a Docker service
      6. 11.2.6 Scaling up a container
      7. 11.2.7 Changing node availability to simulate a scheduled maintenance
      8. 11.2.8 Promoting a worker node
      9. 11.2.9 Demoting a manager node
      10. 11.2.10 Scaling down a service
      11. 11.2.11 Considerations regarding the number of manager nodes
  15. Appendix A. Obtaining the additional material
  16. Back cover

Product information

  • Title: Getting started with z/OS Container Extensions and Docker
  • Author(s): Lydia Parziale, Zach Burns, Marco Egli, Redelf Janssen, Volkmar Langer, Subhajit Maitra, Eric Marins, Edward McCarthy, Jim Newell
  • Release date: July 2021
  • Publisher(s): IBM Redbooks
  • ISBN: 9780738458151