0%

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