pptfz Knowledge Base

website·Indexed 29 days ago

https://pptfz.github.io

A comprehensive collection of technical notes and guides covering programming languages including Go, Python, and Shell scripting; DevOps tools such as Kubernetes, Prometheus, Grafana, Jenkins, and Zabbix; and Linux system administration, including OpenStack Mitaka deployment on CentOS 7.8 and GVM version management.

Tokens
500.2K
Snippets
2.9K
Records
3.5K
Agent score
72%

What's inside pptfz Docs

  1. Overview of Cloudera Manager (CM) Architecture

    Cloudera Manager (CM) is a tool used for automated cluster installation, centralized management, cluster monitoring, and alerting. Its architecture consists of the following components:

    • Cloudera Repository: Managed distribution repository for software.
    • Server: Handles software installation, configuration, starting/stopping services, and managing the cluster.
    • Management Service: A set of services performing monitoring, alerting, and reporting.
    • Database: Stores configuration and monitoring information.
    • Agent: Installed on every machine to handle starting, stopping, configuring, and monitoring the host.
    • Clients: Interfaces used to interact with the server.
  2. Overview of Kubernetes Deployments

    A Deployment provides declarative updates for Pods and ReplicaSets. The user describes the desired state in the Deployment specification, and the Deployment Controller changes the actual state to match the desired state at a controlled rate. Typical use cases include creating ReplicaSets to bring Pods online, updating Pod states via PodTemplateSpec, rolling back to previous versions, scaling the number of replicas, and pausing/resuming deployments to apply multiple changes.
  3. Overview of OpenEBS Storage Options

    OpenEBS converts available storage on Kubernetes worker nodes into local or distributed persistent volumes. It offers two primary types of volumes:

    1. Local Volumes: Directly attached to Stateful Pods with no extra overhead. Supports raw block devices, partitions, host path subdirectories, LVM, ZFS, or sparse files. Includes tools for monitoring, backup/restore, and snapshots.
    2. Distributed (Replicated) Volumes: Uses engines (Mayastor, cStor, or Jiva) to create microservices that synchronously replicate data across multiple nodes.
      • Mayastor: Designed for high performance and durability using NVMeoF.
      • cStor and Jiva: Focus on ease of use and durability using iSCSI and customized ZFS/Longhorn technologies.
  4. Overview of Gitee Jenkins Plugin capabilities

    The Gitee Jenkins Plugin allows Jenkins to receive WebHooks from Gitee to trigger automated continuous integration or deployment. Key supported features include:

    • Triggering builds on code push or Pull Request (PR) actions (create, update, accept, close, review passed, test passed).
    • Triggering builds via comments on commit records or PRs.
    • Filtering builds using [ci-skip] or [ci-build] instructions.
    • Branch filtering using names or regular expressions.
    • WebHook password verification.
    • Post-build actions to comment build results back to Gitee PRs or automatically merge PRs upon success.
    • Automatic cancellation of redundant builds for the same PR.
  5. Overview of GitLab Runner features

    GitLab Runner is an application used with GitLab CI/CD to run jobs in a pipeline. It is written in Go and distributed as a single binary. Key capabilities include:

    • Concurrent execution of multiple jobs.
    • Support for multiple tokens across different servers or projects.
    • Flexible execution environments: local, Docker containers, Docker via SSH, auto-scaling containers on cloud/virtualization managers, and remote SSH servers.
    • Cross-platform support: GNU/Linux, macOS, and Windows.
    • Shell support for Bash, PowerShell Core, and Windows PowerShell.
    • Automatic configuration reloading without restarts.
    • Built-in Prometheus metrics HTTP server.
  6. Overview of bat features

    bat is a clone of cat that provides several enhancements:

    • Syntax Highlighting: Supports most programming and markup languages.
    • Git Integration: Displays modification indices when communicating with Git.
    • Non-printable Character Visualization: Use the -A or --show-all flag to visualize non-printable characters.
    • Automatic Paging: Automatically pipes content to a pager (e.g., less) if the output exceeds the screen size. Use --paging=never to disable this behavior.
    • Smart Output: When detecting a non-interactive terminal or a pipe (e.g., piping to a file), bat behaves like cat by outputting plain text and ignoring the --paging parameter.
  7. Overview of Redis Hash data type

    A Redis Hash is a collection of field-value pairs, similar to a map or dictionary in programming languages. It is ideal for storing objects where you may need to update specific attributes without rewriting the entire object. Each Redis hash can store up to 2^32 - 1 field-value pairs (over 4 billion).
    # Example: Define a hash 'man' with name, age, and weight
    127.0.0.1:6379> HMSET man name "xiaoming" age 18 weight "60kg"
    OK
    
    # Retrieve all fields and values
    127.0.0.1:6379> HGETALL man
    1) "name"
    2) "xiaoming"
    3) "age"
    4) "18"
    5) "weight"
    6) "60kg"
  8. Overview of Gitea

    Gitea is a lightweight, community-managed code hosting solution written in Go. It is similar to GitLab but significantly more resource-efficient, capable of running with as little as 90MB of RAM compared to GitLab's 2GB+ requirement. It is a fork of Gogs, created to allow for a more open, community-driven development process.
  9. Overview of Kubernetes Secrets

    A Secret is an object used to store small amounts of sensitive information, such as passwords, tokens, or keys. This allows developers to avoid hardcoding confidential data in application code or container images. Secrets are similar to ConfigMaps but are specifically intended for sensitive data.

    Pods can consume Secrets in three ways:

    1. As files mounted into a volume.
    2. As container environment variables.
    3. By the kubelet to pull images (imagePullSecrets).
  10. Overview of Kubernetes StatefulSet

    A StatefulSet is a workload API object used to manage stateful applications. Unlike a Deployment, a StatefulSet maintains a sticky identity for each Pod. Even if a Pod is rescheduled, it retains a permanent, unique ID. This is critical for applications requiring stable network identifiers, persistent storage, and ordered, graceful deployment, scaling, or rolling updates.