×
思维导图备注
OpenShift OKD v4.14 Documentation
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
Go-based Operators
Github
来源:RedHat
浏览
100
扫码
分享
2023-11-01 21:44:22
Getting started
Tutorial
Project layout
Updating Go-based projects
当前内容版权归
RedHat
或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
RedHat
.
上一篇:
下一篇:
版本
OpenShift OKD v4.15 Documentation
OpenShift OKD v4.14 Documentation
OpenShift OKD v4.13 Documentation
OpenShift OKD v4.12 Documentation
OpenShift OKD v4.11 Documentation
OpenShift OKD v4.10 Documentation
OpenShift OKD v4.9 Documentation
OpenShift OKD v4.8 Documentation
OpenShift OKD v4.7 Documentation
OpenShift OKD v4.6 Documentation
OpenShift OKD v3.11 Documentation
OpenShift OKD v3.10 Documentation
About
Welcome
What’s new?
New features and enhancements
Deprecated features
Architecture
Architecture overview
Product architecture
Installation and update
Control plane architecture
Understanding OKD development
Fedora CoreOS
Installing
Installation overview
Selecting an installation method and preparing a cluster
Cluster capabilities
Disconnected installation mirroring
About disconnected installation mirroring
Creating a mirror registry with mirror registry for Red Hat OpenShift
Mirroring images for a disconnected installation
Mirroring images for a disconnected installation using the oc-mirror plugin
Installing on Alibaba
Preparing to install on Alibaba Cloud
Creating the required Alibaba Cloud resources
Installing a cluster quickly on Alibaba Cloud
Installing a cluster on Alibaba Cloud with customizations
Installing a cluster on Alibaba Cloud with network customizations
Installing a cluster on Alibaba Cloud into an existing VPC
Installation configuration parameters for Alibaba Cloud
Uninstalling a cluster on Alibaba Cloud
Installing on AWS
Preparing to install on AWS
Configuring an AWS account
Installing a cluster quickly on AWS
Installing a cluster on AWS with customizations
Installing a cluster on AWS with network customizations
Installing a cluster on AWS in a restricted network
Installing a cluster on AWS into an existing VPC
Installing a private cluster on AWS
Installing a cluster on AWS into a government region
Installing a cluster on AWS into a Secret or Top Secret Region
Installing a cluster on AWS into a China region
Installing a cluster on AWS using CloudFormation templates
Installing a cluster on AWS with worker nodes on AWS Local Zones
Installing a cluster on AWS in a restricted network with user-provisioned infrastructure
Installing a cluster on AWS with remote workers on AWS Outposts
Installing a three-node cluster on AWS
Uninstalling a cluster on AWS
Installation configuration parameters for AWS
Installing on Azure
Preparing to install on Azure
Configuring an Azure account
Enabling user-managed encryption on Azure
Installing a cluster quickly on Azure
Installing a cluster on Azure with customizations
Installing a cluster on Azure with network customizations
Installing a cluster on Azure into an existing VNet
Installing a private cluster on Azure
Installing a cluster on Azure into a government region
Installing a cluster on Azure in a restricted network with user-provisioned infrastructure
Installing a cluster on Azure using ARM templates
Installing a cluster on Azure in a restricted network
Installing a three-node cluster on Azure
Uninstalling a cluster on Azure
Installation configuration parameters for Azure
Installing on Azure Stack Hub
Preparing to install on Azure Stack Hub
Configuring an Azure Stack Hub account
Installing a cluster on Azure Stack Hub with an installer-provisioned infrastructure
Installing a cluster on Azure Stack Hub with network customizations
Installing a cluster on Azure Stack Hub using ARM templates
Installation configuration parameters for Azure Stack Hub
Uninstalling a cluster on Azure Stack Hub
Installing on GCP
Preparing to install on GCP
Configuring a GCP project
Installing a cluster quickly on GCP
Installing a cluster on GCP with customizations
Installing a cluster on GCP with network customizations
Installing a cluster on GCP in a restricted network
Installing a cluster on GCP into an existing VPC
Installing a cluster on GCP into a shared VPC
Installing a private cluster on GCP
Installing a cluster on GCP using Deployment Manager templates
Installing a cluster into a shared VPC on GCP using Deployment Manager templates
Installing a cluster on GCP in a restricted network with user-provisioned infrastructure
Installing a three-node cluster on GCP
Installation configuration parameters for GCP
Uninstalling a cluster on GCP
Installing on IBM Cloud VPC
Preparing to install on IBM Cloud VPC
Configuring an IBM Cloud account
Configuring IAM for IBM Cloud VPC
Installing a cluster on IBM Cloud VPC with customizations
Installing a cluster on IBM Cloud VPC with network customizations
Installing a cluster on IBM Cloud VPC into an existing VPC
Installing a private cluster on IBM Cloud VPC
Installation configuration parameters for IBM Cloud VPC
Uninstalling a cluster on IBM Cloud VPC
Installing on Nutanix
Preparing to install on Nutanix
Installing a cluster on Nutanix
Installing a cluster on Nutanix in a restricted network
Installing a three-node cluster on Nutanix
Uninstalling a cluster on Nutanix
Installation configuration parameters for Nutanix
Installing on bare metal
Preparing to install on bare metal
Installing a user-provisioned cluster on bare metal
Installing a user-provisioned bare metal cluster with network customizations
Installing a user-provisioned bare metal cluster on a restricted network
Scaling a user-provisioned installation with the bare metal operator
Installation configuration parameters for bare metal
Deploying installer-provisioned clusters on bare metal
Overview
Prerequisites
Setting up the environment for an OpenShift installation
Post-installation configuration
Expanding the cluster
Troubleshooting
Installing IBM Cloud Bare Metal (Classic)
Prerequisites
Installation workflow
Installing on OpenStack
Preparing to install on OpenStack
Preparing to install a cluster that uses SR-IOV or OVS-DPDK on OpenStack
Installing a cluster on OpenStack with customizations
Installing a cluster on OpenStack with Kuryr
Installing a cluster on OpenStack on your own infrastructure
Installing a cluster on OpenStack with Kuryr on your own infrastructure
Installing a cluster on OpenStack in a restricted network
OpenStack Cloud Controller Manager reference guide
Uninstalling a cluster on OpenStack
Uninstalling a cluster on OpenStack from your own infrastructure
Installation configuration parameters for OpenStack
Installing on vSphere
Preparing to install on vSphere
Installing a cluster on vSphere
Installing a cluster on vSphere with customizations
Installing a cluster on vSphere with network customizations
Installing a cluster on vSphere with user-provisioned infrastructure
Installing a cluster on vSphere with user-provisioned infrastructure and network customizations
Installing a cluster on vSphere in a restricted network
Installing a cluster on vSphere in a restricted network with user-provisioned infrastructure
Installing a three-node cluster on vSphere
Configuring the vSphere connection settings after an installation
Uninstalling a cluster on vSphere that uses installer-provisioned infrastructure
Using the vSphere Problem Detector Operator
Installation configuration parameters for vSphere
Installing on any platform
Installing a cluster on any platform
Installation configuration
Customizing nodes
Configuring your firewall
Validating an installation
Troubleshooting installation issues
Post-installation configuration
Configuring a private cluster
Bare metal configuration
Enabling encryption on a vSphere cluster
Machine configuration tasks
Cluster tasks
Node tasks
Network configuration
Storage configuration
Preparing for users
Configuring alert notifications
Converting a connected cluster to a disconnected cluster
Enabling cluster capabilities
Configuring additional devices in an IBM Z or IBM LinuxONE environment
Regions and zones for a VMware vCenter
Fedora CoreOS (FCOS) image layering
Updating clusters
Updating clusters overview
Understanding OpenShift updates
Introduction to OpenShift updates
Understanding OpenShift update duration
Preparing to update a cluster
Preparing to update to OKD 4.14
Preparing to update a cluster with manually maintained credentials
Preflight validation for Kernel Module Management (KMM) Modules
Performing a cluster update
Updating a cluster using the CLI
Updating a cluster using the web console
Performing a canary rollout update
Updating a cluster in a disconnected environment
About cluster updates in a disconnected environment
Mirroring OpenShift Container Platform images
Updating a cluster in a disconnected environment by using the CLI
Updating hardware on nodes running on vSphere
Migrating to a cluster with multi-architecture compute machines
Updating hosted control planes
Support
Support overview
Managing your cluster resources
Getting support
Remote health monitoring with connected clusters
About remote health monitoring
Showing data collected by remote health monitoring
Opting out of remote health reporting
Enabling remote health reporting
Using Insights to identify issues with your cluster
Using the Insights Operator
Using remote health reporting in a restricted network
Importing simple content access entitlements with Insights Operator
Gathering data about your cluster
Summarizing cluster specifications
Troubleshooting
Troubleshooting installations
Verifying node health
Troubleshooting CRI-O container runtime issues
Troubleshooting operating system issues
Troubleshooting network issues
Troubleshooting Operator issues
Investigating pod issues
Troubleshooting the Source-to-Image process
Troubleshooting storage issues
Troubleshooting Windows container workload issues
Investigating monitoring issues
Diagnosing OpenShift CLI (oc) issues
Web console
Web console overview
Accessing the web console
Viewing cluster information
Adding user preferences
Configuring the web console
Customizing the web console
Dynamic plugins
Overview of dynamic plugins
Getting started with dynamic plugins
Deploy your plugin on a cluster
Dynamic plugin example
Dynamic plugin reference
Disabling the web console
Creating quick start tutorials
CLI tools
CLI tools overview
OpenShift CLI (oc)
Getting started with the OpenShift CLI
Configuring the OpenShift CLI
Usage of oc and kubectl commands
Managing CLI profiles
Extending the OpenShift CLI with plugins
Managing CLI plugins with Krew
OpenShift CLI developer command reference
OpenShift CLI administrator command reference
Developer CLI (odo)
Knative CLI (kn) for use with OpenShift Serverless
opm CLI
Installing the opm CLI
opm CLI reference
Operator SDK
Installing the Operator SDK CLI
Operator SDK CLI reference
Security and compliance
Security and compliance overview
Container security
Understanding container security
Understanding host and VM security
Container image signatures
Hardening Fedora CoreOS
Understanding compliance
Securing container content
Using container registries securely
Securing the build process
Deploying containers
Securing the container platform
Securing networks
Securing attached storage
Monitoring cluster events and logs
Configuring certificates
Replacing the default ingress certificate
Adding API server certificates
Securing service traffic using service serving certificates
Updating the CA bundle
Certificate types and descriptions
User-provided certificates for the API server
Proxy certificates
Service CA certificates
Node certificates
Bootstrap certificates
etcd certificates
OLM certificates
Aggregated API client certificates
Machine Config Operator certificates
User-provided certificates for default ingress
Ingress certificates
Monitoring and cluster logging Operator component certificates
Control plane certificates
Compliance Operator
Compliance Operator overview
Compliance Operator release notes
Compliance Operator concepts
Understanding the Compliance Operator
Understanding the Custom Resource Definitions
Compliance Operator management
Installing the Compliance Operator
Updating the Compliance Operator
Managing the Compliance Operator
Uninstalling the Compliance Operator
Compliance Operator scan management
Supported compliance profiles
Compliance Operator scans
Tailoring the Compliance Operator
Retrieving Compliance Operator raw results
Managing Compliance Operator remediation
Performing advanced Compliance Operator tasks
Troubleshooting the Compliance Operator
Using the oc-compliance plugin
File Integrity Operator
File Integrity Operator release notes
Installing the File Integrity Operator
Updating the File Integrity Operator
Understanding the File Integrity Operator
Configuring the File Integrity Operator
Performing advanced File Integrity Operator tasks
Troubleshooting the File Integrity Operator
Security Profiles Operator
Security Profiles Operator overview
Security Profiles Operator release notes
Understanding the Security Profiles Operator
Enabling the Security Profiles Operator
Managing seccomp profiles
Managing SELinux profiles
Advanced Security Profiles Operator tasks
Troubleshooting the Security Profiles Operator
Uninstalling the Security Profiles Operator
Viewing audit logs
Configuring the audit log policy
Configuring TLS security profiles
Configuring seccomp profiles
Allowing JavaScript-based access to the API server from additional hosts
Encrypting etcd data
Scanning pods for vulnerabilities
Network-Bound Disk Encryption (NBDE)
About disk encryption technology
Tang server installation considerations
Tang server encryption key management
Disaster recovery considerations
Authentication and authorization
Authentication and authorization overview
Understanding authentication
Configuring the internal OAuth server
Configuring OAuth clients
Managing user-owned OAuth access tokens
Understanding identity provider configuration
Configuring identity providers
Configuring an htpasswd identity provider
Configuring a Keystone identity provider
Configuring an LDAP identity provider
Configuring a basic authentication identity provider
Configuring a request header identity provider
Configuring a GitHub or GitHub Enterprise identity provider
Configuring a GitLab identity provider
Configuring a Google identity provider
Configuring an OpenID Connect identity provider
Using RBAC to define and apply permissions
Removing the kubeadmin user
Understanding and creating service accounts
Using service accounts in applications
Using a service account as an OAuth client
Scoping tokens
Using bound service account tokens
Managing security context constraints
Understanding and managing pod security admission
Impersonating the system:admin user
Syncing LDAP groups
Managing cloud provider credentials
About the Cloud Credential Operator
Mint mode
Passthrough mode
Manual mode with long-term credentials for components
Manual mode with short-term credentials for components
Networking
About networking
Understanding networking
Accessing hosts
Networking Operators overview
Understanding the Cluster Network Operator
Understanding the DNS Operator
Understanding the Ingress Operator
Ingress sharding
Understanding the Ingress Node Firewall Operator
Configuring the Ingress Controller for manual DNS management
Configuring the Ingress Controller endpoint publishing strategy
Verifying connectivity to an endpoint
Changing the cluster network MTU
Configuring the node port service range
Configuring the cluster network IP address range
Configuring IP failover
Configuring interface-level network sysctls
Using SCTP
Using PTP hardware
Developing PTP events consumer applications
External DNS Operator
Understanding the External DNS Operator
Installing the External DNS Operator
External DNS Operator configuration parameters
Creating DNS records on an public hosted zone for AWS
Creating DNS records on an public zone for Azure
Creating DNS records on an public managed zone for GCP
Creating DNS records on a public DNS zone for Infoblox
Configuring the cluster-wide proxy on the External DNS Operator
Network policy
About network policy
Creating a network policy
Viewing a network policy
Editing a network policy
Deleting a network policy
Defining a default network policy for projects
Configuring multitenant isolation with network policy
AWS Load Balancer Operator
AWS Load Balancer Operator release notes
Understanding the AWS Load Balancer Operator
Installing the AWS Load Balancer Operator
Installing the AWS Load Balancer Operator on Security Token Service cluster
Creating an instance of the AWS Load Balancer Controller
Serving Multiple Ingresses through a single AWS Load Balancer
Adding TLS termination on the AWS Load Balancer
Configuring cluster-wide proxy on the AWS Load Balancer Operator
Multiple networks
Understanding multiple networks
Configuring an additional network
About virtual routing and forwarding
Configuring multi-network policy
Attaching a pod to an additional network
Removing a pod from an additional network
Editing an additional network
Removing an additional network
Assigning a secondary network to a VRF
Hardware networks
About Single Root I/O Virtualization (SR-IOV) hardware networks
Installing the SR-IOV Operator
Configuring the SR-IOV Operator
Configuring an SR-IOV network device
Configuring an SR-IOV Ethernet network attachment
Configuring an SR-IOV InfiniBand network attachment
Adding a pod to an SR-IOV network
Tuning sysctl settings on an SR-IOV network
Using high performance multicast
Using DPDK and RDMA
Using pod-level bonding for secondary networks
Configuring hardware offloading
Switching Bluefield-2 from NIC to DPU mode
Uninstalling the SR-IOV Operator
OVN-Kubernetes network plugin
About the OVN-Kubernetes network plugin
OVN-Kubernetes architecture
OVN-Kubernetes troubleshooting
OVN-Kubernetes traffic tracing
Migrating from the OpenShift SDN network plugin
Rolling back to the OpenShift SDN network plugin
Migrating from Kuryr
Converting to IPv4/IPv6 dual stack networking
Logging for egress firewall and network policy rules
Configuring IPsec encryption
Configure an external gateway through a secondary network interface
Configuring an egress firewall for a project
Viewing an egress firewall for a project
Editing an egress firewall for a project
Removing an egress firewall from a project
Configuring an egress IP address
Assigning an egress IP address
Configuring an egress service
Considerations for the use of an egress router pod
Deploying an egress router pod in redirect mode
Enabling multicast for a project
Disabling multicast for a project
Tracking network flows
Configuring hybrid networking
OpenShift SDN network plugin
About the OpenShift SDN network plugin
Migrating to the OpenShift SDN network plugin
Rolling back to the OVN-Kubernetes network plugin
Configuring egress IPs for a project
Configuring an egress firewall for a project
Viewing an egress firewall for a project
Editing an egress firewall for a project
Removing an egress firewall from a project
Considerations for the use of an egress router pod
Deploying an egress router pod in redirect mode
Deploying an egress router pod in HTTP proxy mode
Deploying an egress router pod in DNS proxy mode
Configuring an egress router pod destination list from a config map
Enabling multicast for a project
Disabling multicast for a project
Configuring multitenant isolation
Configuring kube-proxy
Configuring Routes
Route configuration
Secured routes
Configuring ingress cluster traffic
Overview
Configuring ExternalIPs for services
Configuring ingress cluster traffic using an Ingress Controller
Configuring ingress cluster traffic using a load balancer
Configuring ingress cluster traffic on AWS
Configuring ingress cluster traffic using a service external IP
Configuring ingress cluster traffic using a NodePort
Configuring ingress cluster traffic using load balancer allowed source ranges
Kubernetes NMState
About the Kubernetes NMState Operator
Observing node network state
Updating node network configuration
Troubleshooting node network configuration
Configuring the cluster-wide proxy
Configuring a custom PKI
Load balancing on OpenStack
Load balancing with MetalLB
About MetalLB and the MetalLB Operator
Installing the MetalLB Operator
Upgrading the MetalLB Operator
Configuring MetalLB address pools
Advertising the IP address pools
Configuring MetalLB BGP peers
Advertising an IP address pool using the community alias
Configuring MetalLB BFD profiles
Configuring services to use MetalLB
Managing symmetric routing with MetalLB
MetalLB logging, troubleshooting, and support
Associating secondary interfaces metrics to network attachments
Storage
Storage overview
Understanding ephemeral storage
Understanding persistent storage
Configuring persistent storage
Persistent storage using AWS Elastic Block Store
Persistent storage using Azure Disk
Persistent storage using Azure File
Persistent storage using Cinder
Persistent storage using Fibre Channel
Persistent storage using FlexVolume
Persistent storage using GCE Persistent Disk
Persistent Storage using iSCSI
Persistent storage using NFS
Persistent storage using Red Hat OpenShift Data Foundation
Persistent storage using VMware vSphere
Persistent storage using local storage
Persistent storage using local volumes
Persistent storage using hostPath
Persistent storage using LVM Storage
Troubleshooting local persistent storage using LVMS
Using Container Storage Interface (CSI)
Configuring CSI volumes
CSI inline ephemeral volumes
Shared Resource CSI Driver Operator
CSI volume snapshots
CSI volume cloning
Managing the default storage class
CSI automatic migration
Detach CSI volumes after non-graceful node shutdown
AliCloud Disk CSI Driver Operator
AWS Elastic Block Store CSI Driver Operator
AWS Elastic File Service CSI Driver Operator
Azure Disk CSI Driver Operator
Azure File CSI Driver Operator
Azure Stack Hub CSI Driver Operator
GCP PD CSI Driver Operator
GCP Filestore CSI Driver Operator
IBM VPC Block CSI Driver Operator
IBM Power Virtual Server Block CSI Driver Operator
OpenStack Cinder CSI Driver Operator
OpenStack Manila CSI Driver Operator
Secrets Store CSI Driver Operator
VMware vSphere CSI Driver Operator
Generic ephemeral volumes
Expanding persistent volumes
Dynamic provisioning
Registry
Registry overview
Image Registry Operator in OKD
Setting up and configuring the registry
Configuring the registry for AWS user-provisioned infrastructure
Configuring the registry for GCP user-provisioned infrastructure
Configuring the registry for OpenStack user-provisioned infrastructure
Configuring the registry for Azure user-provisioned infrastructure
Configuring the registry for OpenStack
Configuring the registry for bare metal
Configuring the registry for vSphere
Configuring the registry for OpenShift Data Foundation
Configuring the registry for Nutanix
Accessing the registry
Exposing the registry
Operators
Operators overview
Understanding Operators
What are Operators?
Packaging format
Common terms
Operator Lifecycle Manager (OLM)
Concepts and resources
Architecture
Workflow
Dependency resolution
Operator groups
Multitenancy and Operator colocation
Operator conditions
Metrics
Webhooks
OperatorHub
Operators in multitenant clusters
CRDs
Extending the Kubernetes API with CRDs
Managing resources from CRDs
User tasks
Creating applications from installed Operators
Installing Operators in your namespace
Administrator tasks
Adding Operators to a cluster
Updating installed Operators
Deleting Operators from a cluster
Configuring OLM features
Configuring proxy support
Viewing Operator status
Managing Operator conditions
Allowing non-cluster administrators to install Operators
Managing custom catalogs
Using OLM on restricted networks
Catalog source pod scheduling
Managing platform Operators
Troubleshooting Operator issues
Developing Operators
About the Operator SDK
Installing the Operator SDK CLI
Go-based Operators
Getting started
Tutorial
Project layout
Updating Go-based projects
Ansible-based Operators
Getting started
Tutorial
Project layout
Updating Ansible-based projects
Ansible support
Kubernetes Collection for Ansible
Using Ansible inside an Operator
Custom resource status management
Helm-based Operators
Getting started
Tutorial
Project layout
Updating Helm-based projects
Helm support
Hybrid Helm Operator
Updating Hybrid Helm-based projects
Java-based Operators
Getting started
Tutorial
Project layout
Updating Java-based projects
Defining cluster service versions (CSVs)
Working with bundle images
Complying with pod security admission
Token authentication for Operators on cloud providers
Validating Operators using the scorecard
Validating Operator bundles
High-availability or single-node cluster detection and support
Configuring built-in monitoring with Prometheus
Configuring leader election
Configuring support for multiple platforms
Object pruning utility
Migrating package manifest projects to bundle format
Operator SDK CLI reference
Migrating to Operator SDK v0.1.0
Cluster Operators reference
OLM 1.0 (Technology Preview)
About OLM 1.0
Components and architecture
Components overview
Operator Controller
RukPak
Dependency resolution
Catalogd
Installing an Operator from a catalog
Managing plain bundles
CI/CD
CI/CD overview
Builds using BuildConfig
Understanding image builds
Understanding build configurations
Creating build inputs
Managing build output
Using build strategies
Custom image builds with Buildah
Performing and configuring basic builds
Triggering and modifying builds
Performing advanced builds
Using Red Hat subscriptions in builds
Securing builds by strategy
Build configuration resources
Troubleshooting builds
Setting up additional trusted certificate authorities for builds
Images
Overview of images
Configuring the Cluster Samples Operator
Using the Cluster Samples Operator with an alternate registry
Creating images
Managing images
Managing images overview
Tagging images
Image pull policy
Using image pull secrets
Managing image streams
Using image streams with Kubernetes resources
Triggering updates on image stream changes
Image configuration resources
Using templates
Using Ruby on Rails
Using images
Using images overview
Source-to-image
Customizing source-to-image images
Building applications
Building applications overview
Projects
Working with projects
Creating a project as another user
Configuring project creation
Creating applications
Creating applications using the Developer perspective
Creating applications from installed Operators
Creating applications using the CLI
Viewing application composition using the Topology view
Exporting applications
Connecting applications to services
Service Binding Operator release notes
Understanding Service Binding Operator
Installing Service Binding Operator
Getting started with service binding
Getting started with service binding on IBM Power, IBM Z, and IBM LinuxONE
Exposing binding data from a service
Projecting binding data
Binding workloads using Service Binding Operator
Connecting an application to a service using the Developer perspective
Working with Helm charts
Understanding Helm
Installing Helm
Configuring custom Helm chart repositories
Working with Helm releases
Deployments
Understanding deployments
Managing deployment processes
Using deployment strategies
Using route-based deployment strategies
Quotas
Resource quotas per project
Resource quotas across multiple projects
Using config maps with applications
Monitoring project and application metrics using the Developer perspective
Monitoring application health
Editing applications
Pruning objects to reclaim resources
Idling applications
Deleting applications
Using the Red Hat Marketplace
Machine management
Overview of machine management
Managing compute machines with the Machine API
Creating a compute machine set on Alibaba Cloud
Creating a compute machine set on AWS
Creating a compute machine set on Azure
Creating a compute machine set on Azure Stack Hub
Creating a compute machine set on GCP
Creating a compute machine set on IBM Cloud
Creating a compute machine set on IBM Power Virtual Server
Creating a compute machine set on Nutanix
Creating a compute machine set on OpenStack
Creating a compute machine set on vSphere
Creating a compute machine set on bare metal
Manually scaling a compute machine set
Modifying a compute machine set
Deleting a machine
Applying autoscaling to a cluster
Creating infrastructure machine sets
Managing user-provisioned infrastructure manually
Adding compute machines to clusters with user-provisioned infrastructure manually
Adding compute machines to AWS using CloudFormation templates
Adding compute machines to vSphere manually
Adding compute machines to bare metal
Managing machines with the Cluster API
Managing control plane machines
About control plane machine sets
Getting started with control plane machine sets
Control plane machine set configuration
Using control plane machine sets
Control plane resiliency and recovery
Troubleshooting the control plane machine set
Disabling the control plane machine set
Deploying machine health checks
Hosted control planes
Hosted control planes overview
Configuring hosted control planes
Managing hosted control planes
Backup, restore, and disaster recovery for hosted control planes
Troubleshooting hosted control planes
Nodes
Overview of nodes
Working with pods
About pods
Viewing pods
Configuring a cluster for pods
Automatically scaling pods with the horizontal pod autoscaler
Automatically adjust pod resource levels with the vertical pod autoscaler
Providing sensitive data to pods by using secrets
Providing sensitive data to pods by using an external secrets store
Creating and using config maps
Using Device Manager to make devices available to nodes
Including pod priority in pod scheduling decisions
Placing pods on specific nodes using node selectors
Automatically scaling pods with the Custom Metrics Autoscaler Operator
Custom Metrics Autoscaler Operator overview
Custom Metrics Autoscaler Operator release notes
Installing the custom metrics autoscaler
Understanding the custom metrics autoscaler triggers
Understanding custom metrics autoscaler trigger authentications
Pausing the custom metrics autoscaler
Gathering audit logs
Gathering debugging data
Viewing Operator metrics
Understanding how to add custom metrics autoscalers
Removing the Custom Metrics Autoscaler Operator
Controlling pod placement onto nodes (scheduling)
About pod placement using the scheduler
Scheduling pods using a scheduler profile
Placing pods relative to other pods using pod affinity and anti-affinity rules
Controlling pod placement on nodes using node affinity rules
Placing pods onto overcommited nodes
Controlling pod placement using node taints
Placing pods on specific nodes using node selectors
Controlling pod placement using pod topology spread constraints
Evicting pods using the descheduler
Using Jobs and DaemonSets
Running background tasks on nodes automatically with daemonsets
Running tasks in pods using jobs
Working with nodes
Viewing and listing the nodes in your cluster
Working with nodes
Managing nodes
Managing the maximum number of pods per node
Using the Node Tuning Operator
Remediating, fencing, and maintaining nodes
Understanding node rebooting
Freeing node resources using garbage collection
Allocating resources for nodes
Allocating specific CPUs for nodes in a cluster
Enabling TLS security profiles for the kubelet
Machine Config Daemon metrics
Creating infrastructure nodes
Working with containers
Understanding containers
Using Init Containers to perform tasks before a pod is deployed
Using volumes to persist container data
Mapping volumes using projected volumes
Allowing containers to consume API objects
Copying files to or from a container
Executing remote commands in a container
Using port forwarding to access applications in a container
Using sysctls in containers
Working with clusters
Viewing system event information in a cluster
Analyzing cluster resource levels
Configuring a cluster for pods
Setting limit ranges
Configuring cluster memory to meet container memory and risk requirements
Configuring your cluster to place pods on overcommited nodes
Configuring the Linux cgroup version on your nodes
Enabling features using FeatureGates
Improving cluster stability in high latency environments using worker latency profiles
Node metrics dashboard
Windows Container Support for OpenShift
Red Hat OpenShift support for Windows Containers overview
Red Hat OpenShift support for Windows Containers release notes
Understanding Windows container workloads
Enabling Windows container workloads
Creating Windows machine sets
Creating a Windows machine set on AWS
Creating a Windows machine set on Azure
Creating a Windows machine set on vSphere
Creating a Windows machine set on GCP
Scheduling Windows container workloads
Windows node upgrades
Using Bring-Your-Own-Host Windows instances as nodes
Removing Windows nodes
Disabling Windows container workloads
Logging
Release notes
Logging 5.7
Support
Logging 5.7
Configuring Logging
Administering Logging
Logging 5.6
Configuring Logging
Administering Logging
Logging Reference
Logging 5.5
Administering Logging
About Logging
Installing Logging
Configuring your Logging deployment
About the Cluster Logging custom resource
Configuring the log store
Configuring the log visualizer
Configuring Logging storage
Configuring CPU and memory limits for Logging components
Using tolerations to control Logging pod placement
Moving the Logging resources with node selectors
Configuring systemd-journald for Logging
Logging using LokiStack
Viewing logs for a specific resource
Viewing cluster logs in Kibana
Log collection and forwarding
About log collection and forwarding
Log output types
Enabling JSON log forwarding
Configuring the logging collector
Collecting and storing Kubernetes events
Updating Logging
Viewing cluster dashboards
Logging alerts
Default logging alerts
Custom logging alerts
Troubleshooting logging alerts
Troubleshooting Logging
Viewing Logging status
Viewing the status of the log store
Uninstalling Logging
Exported fields
Glossary
Monitoring
Monitoring overview
Configuring the monitoring stack
Enabling monitoring for user-defined projects
Enabling alert routing for user-defined projects
Managing metrics
Managing alerts
Reviewing monitoring dashboards
Monitoring bare-metal events
Accessing third-party monitoring APIs
Troubleshooting monitoring issues
Config map reference for the Cluster Monitoring Operator
Network Observability
Network Observability release notes
Network Observability overview
Installing the Network Observability Operator
Understanding Network Observability Operator
Configuring the Network Observability Operator
Network Policy
Observing the network traffic
Monitoring the Network Observability Operator
API reference
JSON flows format reference
Troubleshooting Network Observability
Scalability and performance
Recommended performance and scalability practices
Recommended control plane practices
Recommended infrastructure practices
Recommended etcd practices
Planning your environment according to object maximums
Using the Node Tuning Operator
Using CPU Manager and Topology Manager
Scheduling NUMA-aware workloads
Scalability and performance optimization
Optimizing storage
Optimizing routing
Optimizing networking
Optimizing CPU usage
Managing bare metal hosts
What huge pages do and how they are consumed by apps
Low latency tuning
Performing latency tests for platform verification
Improving cluster stability in high latency environments using worker latency profiles
Creating a performance profile
Workload partitioning
Requesting CRI-O and Kubelet profiling data by using the Node Observability Operator
Clusters at the network far edge
Challenges of the network far edge
Preparing the hub cluster for ZTP
Installing managed clusters with RHACM and SiteConfig resources
Configuring managed clusters with policies and PolicyGenTemplate resources
Manually installing a single-node OpenShift cluster with ZTP
Recommended single-node OpenShift cluster configuration for vDU application workloads
Validating cluster tuning for vDU application workloads
Advanced managed cluster configuration with SiteConfig resources
Advanced managed cluster configuration with PolicyGenTemplate resources
Updating managed clusters with the Topology Aware Lifecycle Manager
Updating managed clusters in a disconnected environment with the Topology Aware Lifecycle Manager
Updating GitOps ZTP
Expanding single-node OpenShift clusters with GitOps ZTP
Pre-caching images for single-node OpenShift deployments
Specialized hardware and driver enablement
About specialized hardware and driver enablement
Driver Toolkit
Node Feature Discovery Operator
Kernel Module Management Operator
Backup and restore
Overview of backup and restore operations
Shutting down a cluster gracefully
Restarting a cluster gracefully
OADP Application backup and restore
Introduction to OpenShift API for Data Protection
OADP release notes
OADP features and plugins
Installing and configuring OADP
About installing OADP
Installing the OADP Operator
Configuring OADP with AWS
Configuring OADP with Azure
Configuring OADP with GCP
Configuring OADP with MCG
Configuring OADP with ODF
Uninstalling OADP
Uninstalling OADP
OADP backing up
Backing up applications
Creating a Backup CR
Backing up persistent volumes with CSI snapshots
Backing up applications with Restic
Creating backup hooks
Scheduling backups using Schedule CR
Deleting backups
OADP restoring
Restoring applications
OADP Data Mover
Introduction to OADP Data Mover
Using Data Mover for CSI snapshots
Using OADP 1.2 Data Mover with Ceph storage
Cleaning up after a backup using OADP 1.1 Data Mover
Troubleshooting
OADP API
Advanced OADP features and functionalities
Control plane backup and restore
Backing up etcd data
Replacing an unhealthy etcd member
Disaster recovery
About disaster recovery
Restoring to a previous cluster state
Recovering from expired control plane certificates
Migrating from version 3 to 4
Migrating from version 3 to 4 overview
About migrating from OKD 3 to 4
Differences between OKD 3 and 4
Network considerations
About MTC
Installing MTC
Installing MTC in a restricted network environment
Upgrading MTC
Premigration checklists
Migrating your applications
Advanced migration options
Troubleshooting
Migration Toolkit for Containers
About MTC
MTC release notes
Installing MTC
Installing MTC in a restricted network environment
Upgrading MTC
Premigration checklists
Network considerations
Migrating your applications
Advanced migration options
Troubleshooting
API reference
Understanding API tiers
API compatibility guidelines
Editing kubelet log level verbosity and gathering logs
API list
Common object reference
Index
Authorization APIs
About Authorization APIs
LocalResourceAccessReview [authorization.openshift.io/v1]
LocalSubjectAccessReview [authorization.openshift.io/v1]
ResourceAccessReview [authorization.openshift.io/v1]
SelfSubjectRulesReview [authorization.openshift.io/v1]
SubjectAccessReview [authorization.openshift.io/v1]
SubjectRulesReview [authorization.openshift.io/v1]
TokenRequest [authentication.k8s.io/v1]
TokenReview [authentication.k8s.io/v1]
LocalSubjectAccessReview [authorization.k8s.io/v1]
SelfSubjectAccessReview [authorization.k8s.io/v1]
SelfSubjectRulesReview [authorization.k8s.io/v1]
SubjectAccessReview [authorization.k8s.io/v1]
Autoscale APIs
About Autoscale APIs
ClusterAutoscaler [autoscaling.openshift.io/v1]
MachineAutoscaler [autoscaling.openshift.io/v1beta1]
HorizontalPodAutoscaler [autoscaling/v2]
Scale [autoscaling/v1]
Config APIs
About Config APIs
APIServer [config.openshift.io/v1]
Authentication [config.openshift.io/v1]
Build [config.openshift.io/v1]
ClusterOperator [config.openshift.io/v1]
ClusterVersion [config.openshift.io/v1]
Console [config.openshift.io/v1]
DNS [config.openshift.io/v1]
FeatureGate [config.openshift.io/v1]
HelmChartRepository [helm.openshift.io/v1beta1]
Image [config.openshift.io/v1]
ImageDigestMirrorSet [config.openshift.io/v1]
ImageContentPolicy [config.openshift.io/v1]
ImageTagMirrorSet [config.openshift.io/v1]
Infrastructure [config.openshift.io/v1]
Ingress [config.openshift.io/v1]
Network [config.openshift.io/v1]
Node [config.openshift.io/v1]
OAuth [config.openshift.io/v1]
OperatorHub [config.openshift.io/v1]
Project [config.openshift.io/v1]
ProjectHelmChartRepository [helm.openshift.io/v1beta1]
Proxy [config.openshift.io/v1]
Scheduler [config.openshift.io/v1]
Console APIs
About Console APIs
ConsoleCLIDownload [console.openshift.io/v1]
ConsoleExternalLogLink [console.openshift.io/v1]
ConsoleLink [console.openshift.io/v1]
ConsoleNotification [console.openshift.io/v1]
ConsolePlugin [console.openshift.io/v1]
ConsoleQuickStart [console.openshift.io/v1]
ConsoleYAMLSample [console.openshift.io/v1]
Extension APIs
About Extension APIs
APIService [apiregistration.k8s.io/v1]
CustomResourceDefinition [apiextensions.k8s.io/v1]
MutatingWebhookConfiguration [admissionregistration.k8s.io/v1]
ValidatingWebhookConfiguration [admissionregistration.k8s.io/v1]
Image APIs
About Image APIs
Image [image.openshift.io/v1]
ImageSignature [image.openshift.io/v1]
ImageStreamImage [image.openshift.io/v1]
ImageStreamImport [image.openshift.io/v1]
ImageStreamLayers [image.openshift.io/v1]
ImageStreamMapping [image.openshift.io/v1]
ImageStream [image.openshift.io/v1]
ImageStreamTag [image.openshift.io/v1]
ImageTag [image.openshift.io/v1]
SecretList [image.openshift.io/v1]
Machine APIs
About Machine APIs
ContainerRuntimeConfig [machineconfiguration.openshift.io/v1]
ControllerConfig [machineconfiguration.openshift.io/v1]
ControlPlaneMachineSet [machine.openshift.io/v1]
KubeletConfig [machineconfiguration.openshift.io/v1]
MachineConfigPool [machineconfiguration.openshift.io/v1]
MachineConfig [machineconfiguration.openshift.io/v1]
MachineHealthCheck [machine.openshift.io/v1beta1]
Machine [machine.openshift.io/v1beta1]
MachineSet [machine.openshift.io/v1beta1]
Metadata APIs
About Metadata APIs
APIRequestCount [apiserver.openshift.io/v1]
Binding [undefined/v1]
ComponentStatus [undefined/v1]
ConfigMap [undefined/v1]
ControllerRevision [apps/v1]
Event [events.k8s.io/v1]
Event [undefined/v1]
Lease [coordination.k8s.io/v1]
Namespace [undefined/v1]
Monitoring APIs
About Monitoring APIs
Alertmanager [monitoring.coreos.com/v1]
AlertmanagerConfig [monitoring.coreos.com/v1beta1]
PodMonitor [monitoring.coreos.com/v1]
Probe [monitoring.coreos.com/v1]
Prometheus [monitoring.coreos.com/v1]
PrometheusRule [monitoring.coreos.com/v1]
ServiceMonitor [monitoring.coreos.com/v1]
ThanosRuler [monitoring.coreos.com/v1]
Network APIs
About Network APIs
CloudPrivateIPConfig [cloud.network.openshift.io/v1]
EgressFirewall [k8s.ovn.org/v1]
EgressIP [k8s.ovn.org/v1]
EgressQoS [k8s.ovn.org/v1]
Endpoints [undefined/v1]
EndpointSlice [discovery.k8s.io/v1]
EgressRouter [network.operator.openshift.io/v1]
Ingress [networking.k8s.io/v1]
IngressClass [networking.k8s.io/v1]
IPPool [whereabouts.cni.cncf.io/v1alpha1]
NetworkAttachmentDefinition [k8s.cni.cncf.io/v1]
NetworkPolicy [networking.k8s.io/v1]
OverlappingRangeIPReservation [whereabouts.cni.cncf.io/v1alpha1]
PodNetworkConnectivityCheck [controlplane.operator.openshift.io/v1alpha1]
Route [route.openshift.io/v1]
Service [undefined/v1]
Node APIs
About Node APIs
Node [undefined/v1]
PerformanceProfile [performance.openshift.io/v2]
Profile [tuned.openshift.io/v1]
RuntimeClass [node.k8s.io/v1]
Tuned [tuned.openshift.io/v1]
OAuth APIs
About OAuth APIs
OAuthAccessToken [oauth.openshift.io/v1]
OAuthAuthorizeToken [oauth.openshift.io/v1]
OAuthClientAuthorization [oauth.openshift.io/v1]
OAuthClient [oauth.openshift.io/v1]
UserOAuthAccessToken [oauth.openshift.io/v1]
Operator APIs
About Operator APIs
Authentication [operator.openshift.io/v1]
CloudCredential [operator.openshift.io/v1]
ClusterCSIDriver [operator.openshift.io/v1]
Console [operator.openshift.io/v1]
Config [operator.openshift.io/v1]
Config [imageregistry.operator.openshift.io/v1]
Config [samples.operator.openshift.io/v1]
CSISnapshotController [operator.openshift.io/v1]
DNS [operator.openshift.io/v1]
DNSRecord [ingress.operator.openshift.io/v1]
Etcd [operator.openshift.io/v1]
ImageContentSourcePolicy [operator.openshift.io/v1alpha1]
ImagePruner [imageregistry.operator.openshift.io/v1]
IngressController [operator.openshift.io/v1]
InsightsOperator [operator.openshift.io/v1]
KubeAPIServer [operator.openshift.io/v1]
KubeControllerManager [operator.openshift.io/v1]
KubeScheduler [operator.openshift.io/v1]
KubeStorageVersionMigrator [operator.openshift.io/v1]
Network [operator.openshift.io/v1]
OpenShiftAPIServer [operator.openshift.io/v1]
OpenShiftControllerManager [operator.openshift.io/v1]
OperatorPKI [network.operator.openshift.io/v1]
ServiceCA [operator.openshift.io/v1]
Storage [operator.openshift.io/v1]
OperatorHub APIs
About OperatorHub APIs
CatalogSource [operators.coreos.com/v1alpha1]
ClusterServiceVersion [operators.coreos.com/v1alpha1]
InstallPlan [operators.coreos.com/v1alpha1]
OLMConfig [operators.coreos.com/v1]
Operator [operators.coreos.com/v1]
OperatorCondition [operators.coreos.com/v2]
OperatorGroup [operators.coreos.com/v1]
PackageManifest [packages.operators.coreos.com/v1]
Subscription [operators.coreos.com/v1alpha1]
Policy APIs
About Policy APIs
Eviction [policy/v1]
PodDisruptionBudget [policy/v1]
Project APIs
About Project APIs
Project [project.openshift.io/v1]
ProjectRequest [project.openshift.io/v1]
Provisioning APIs
About Provisioning APIs
BMCEventSubscription [metal3.io/v1alpha1]
BareMetalHost [metal3.io/v1alpha1]
FirmwareSchema [metal3.io/v1alpha1]
HardwareData [metal3.io/v1alpha1]
HostFirmwareSettings [metal3.io/v1alpha1]
Metal3Remediation [infrastructure.cluster.x-k8s.io/v1beta1]
Metal3RemediationTemplate [infrastructure.cluster.x-k8s.io/v1beta1]
PreprovisioningImage [metal3.io/v1alpha1]
Provisioning [metal3.io/v1alpha1]
RBAC APIs
About RBAC APIs
ClusterRoleBinding [rbac.authorization.k8s.io/v1]
ClusterRole [rbac.authorization.k8s.io/v1]
RoleBinding [rbac.authorization.k8s.io/v1]
Role [rbac.authorization.k8s.io/v1]
Role APIs
About Role APIs
ClusterRoleBinding [authorization.openshift.io/v1]
ClusterRole [authorization.openshift.io/v1]
RoleBindingRestriction [authorization.openshift.io/v1]
RoleBinding [authorization.openshift.io/v1]
Role [authorization.openshift.io/v1]
Schedule and quota APIs
About Schedule and quota APIs
AppliedClusterResourceQuota [quota.openshift.io/v1]
ClusterResourceQuota [quota.openshift.io/v1]
FlowSchema [flowcontrol.apiserver.k8s.io/v1beta1]
LimitRange [undefined/v1]
PriorityClass [scheduling.k8s.io/v1]
PriorityLevelConfiguration [flowcontrol.apiserver.k8s.io/v1beta1]
ResourceQuota [undefined/v1]
Security APIs
About Security APIs
CertificateSigningRequest [certificates.k8s.io/v1]
CredentialsRequest [cloudcredential.openshift.io/v1]
PodSecurityPolicyReview [security.openshift.io/v1]
PodSecurityPolicySelfSubjectReview [security.openshift.io/v1]
PodSecurityPolicySubjectReview [security.openshift.io/v1]
RangeAllocation [security.openshift.io/v1]
Secret [undefined/v1]
SecurityContextConstraints [security.openshift.io/v1]
ServiceAccount [undefined/v1]
Storage APIs
About Storage APIs
CSIDriver [storage.k8s.io/v1]
CSINode [storage.k8s.io/v1]
CSIStorageCapacity [storage.k8s.io/v1]
PersistentVolume [undefined/v1]
PersistentVolumeClaim [undefined/v1]
StorageClass [storage.k8s.io/v1]
StorageState [migration.k8s.io/v1alpha1]
StorageVersionMigration [migration.k8s.io/v1alpha1]
VolumeAttachment [storage.k8s.io/v1]
VolumeSnapshot [snapshot.storage.k8s.io/v1]
VolumeSnapshotClass [snapshot.storage.k8s.io/v1]
VolumeSnapshotContent [snapshot.storage.k8s.io/v1]
Template APIs
About Template APIs
BrokerTemplateInstance [template.openshift.io/v1]
PodTemplate [undefined/v1]
Template [template.openshift.io/v1]
TemplateInstance [template.openshift.io/v1]
User and group APIs
About User and group APIs
Group [user.openshift.io/v1]
Identity [user.openshift.io/v1]
UserIdentityMapping [user.openshift.io/v1]
User [user.openshift.io/v1]
Workloads APIs
About Workloads APIs
BuildConfig [build.openshift.io/v1]
Build [build.openshift.io/v1]
BuildLog [build.openshift.io/v1]
BuildRequest [build.openshift.io/v1]
CronJob [batch/v1]
DaemonSet [apps/v1]
Deployment [apps/v1]
DeploymentConfig [apps.openshift.io/v1]
DeploymentConfigRollback [apps.openshift.io/v1]
DeploymentLog [apps.openshift.io/v1]
DeploymentRequest [apps.openshift.io/v1]
Job [batch/v1]
Pod [undefined/v1]
ReplicationController [undefined/v1]
ReplicaSet [apps/v1]
StatefulSet [apps/v1]
Virtualization
About
About OKD Virtualization
Security policies
Getting started
Getting started with OKD Virtualization
virtctl and libguestfs
Installing
Preparing your cluster
Installing OKD Virtualization
Uninstalling OKD Virtualization
Post-installation configuration
Post-installation configuration
Node placement rules
Network configuration
Storage configuration
Updating
Updating OKD Virtualization
Virtual machines
Creating VMs from Red Hat images
Creating VMs from Red Hat images overview
Creating VMs from templates
Creating VMs from instance types
Creating VMs from the CLI
Creating VMs from custom images
Creating VMs from custom images overview
Creating VMs by using container disks
Creating VMs by importing images from web pages
Creating VMs by uploading images
Creating VMs by cloning PVCs
Installing the QEMU guest agent and VirtIO drivers
Connecting to VM consoles
Configuring SSH access to VMs
Editing virtual machines
Editing boot order
Deleting virtual machines
Exporting virtual machines
Managing virtual machine instances
Controlling virtual machine states
Using virtual Trusted Platform Module devices
Managing virtual machines with OpenShift Pipelines
Advanced virtual machine management
Working with resource quotas for virtual machines
Specifying nodes for virtual machines
Configuring certificate rotation
Configuring the default CPU model
UEFI mode for virtual machines
Configuring PXE booting for virtual machines
Using huge pages with virtual machines
Enabling dedicated resources for a virtual machine
Scheduling virtual machines
Configuring PCI passthrough
Configuring virtual GPUs
Enabling descheduler evictions on virtual machines
About high availability for virtual machines
Control plane tuning
VM disks
Hot-plugging VM disks
Expanding VM disks
Networking
Connecting a VM to the default pod network
Exposing a VM by using a service
Connecting a VM to a Linux bridge network
Connecting a VM to an SR-IOV network
Using DPDK with SR-IOV
Connecting a VM to an OVN-Kubernetes secondary network
Hot plugging secondary network interfaces
Connecting a VM to a service mesh
Configuring a dedicated network for live migration
Configuring and viewing IP addresses
Accessing a VM by using the cluster FQDN
Managing MAC address pools for network interfaces
Storage
Storage configuration overview
Configuring storage profiles
Managing automatic boot source updates
Reserving PVC space for file system overhead
Configuring local storage by using HPP
Enabling user permissions to clone data volumes across namespaces
Configuring CDI to override CPU and memory quotas
Preparing CDI scratch space
Using preallocation for data volumes
Managing data volume annotations
Live migration
About live migration
Configuring live migration
Initiating and canceling live migration
Nodes
Node maintenance
Managing node labeling for obsolete CPU models
Preventing node reconciliation
Deleting a failed node to trigger VM failover
Monitoring
Monitoring overview
Cluster checkup framework
Prometheus queries for virtual resources
Virtual machine custom metrics
Virtual machine health checks
Runbooks
Support
Support overview
Troubleshooting
Backup and restore
Backup and restore by using VM snapshots
Installing and configuring OADP
Backing up and restoring virtual machines
Backing up virtual machines
Restoring virtual machines
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度