<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          kube-ps1Kubernetes prompt info for bash and zsh

          聯(lián)合創(chuàng)作 · 2023-09-30 06:18

          kube-ps1: Kubernetes prompt for bash and zsh

          A script that lets you add the current Kubernetes context and namespace configured on kubectl to your Bash/Zsh prompt strings (i.e. the $PS1).

          Inspired by several tools used to simplify usage of kubectl.

          Installing

          MacOS

          Homebrew package manager:

          $ brew update
          $ brew install kube-ps1
          

          From Source

          1. Clone this repository
          2. Source the kube-ps1.sh in your ~/.zshrc or your ~/.bashrc

          Arch Linux

          AUR Package available at https://aur.archlinux.org/packages/kube-ps1/.

          Zsh

          source /path/to/kube-ps1.sh
          PROMPT='$(kube_ps1)'$PROMPT

          Bash

          source /path/to/kube-ps1.sh
          PS1='[\u@\h \W $(kube_ps1)]\$ '

          Zsh Plugin Managers

          Using zplugin

          Update .zshrc with:

          zplugin light jonmosco/kube-ps1
          PROMPT='$(kube_ps1)'$PROMPT

          Requirements

          The default prompt assumes you have the kubectl command line utility installed. Official installation instructions and binaries are available:

          Install and Set up kubectl

          If using this with OpenShift, the oc tool needs installed. It can be obtained from brew ports:

          brew install openshift-cli
          

          or the source can be downloaded:

          OC Client Tools

          Set the binary to oc with the following environment variable:

          KUBE_PS1_BINARY=oc
          

          If neither binary is available, the prompt will print the following:

          (<symbol>|BINARY-N/A:N/A)
          

          Helper utilities

          There are several great tools that make using kubectl very enjoyable:

          Tmux port

          I have begun porting kube-ps1 to tmux as a status line plugin. If you prefer tmux, and like the functionality provided by kube-ps1, checkout the kube-tmux project

          Prompt Structure

          The default prompt layout is:

          (<symbol>|<context>:<namespace>)
          

          If the current-context is not set, kube-ps1 will return the following:

          (<symbol>|N/A:N/A)
          

          Enabling/Disabling

          If you want to stop showing Kubernetes status on your prompt string temporarily run kubeoff. To disable the prompt for all shell sessions, run kubeoff -g. You can enable it again in the current shell by running kubeon, and globally with kubeon -g.

          kubeon     : turn on kube-ps1 status for this shell.  Takes precedence over
                       global setting for current session
          kubeon -g  : turn on kube-ps1 status globally
          kubeoff    : turn off kube-ps1 status for this shell. Takes precedence over
                       global setting for current session
          kubeoff -g : turn off kube-ps1 status globally
          

          Customization

          The default settings can be overridden in ~/.bashrc or ~/.zshrc by setting the following environment variables:

          Variable Default Meaning
          KUBE_PS1_BINARY kubectl Default Kubernetes binary
          KUBE_PS1_NS_ENABLE true Display the namespace. If set to false, this will also disable KUBE_PS1_DIVIDER
          KUBE_PS1_PREFIX ( Prompt opening character
          KUBE_PS1_SYMBOL_ENABLE true Display the prompt Symbol. If set to false, this will also disable KUBE_PS1_SEPARATOR
          KUBE_PS1_SYMBOL_PADDING true Adds a space (padding) after the symbol to prevent clobbering prompt characters
          KUBE_PS1_SYMBOL_DEFAULT ? Default prompt symbol. Unicode \u2388
          KUBE_PS1_SYMBOL_USE_IMG false ?? , Unicode \u2638 as the prompt symbol
          KUBE_PS1_SEPARATOR | Separator between symbol and context name
          KUBE_PS1_DIVIDER : Separator between context and namespace
          KUBE_PS1_SUFFIX ) Prompt closing character
          KUBE_PS1_CLUSTER_FUNCTION No default, must be user supplied Function to customize how cluster is displayed
          KUBE_PS1_NAMESPACE_FUNCTION No default, must be user supplied Function to customize how namespace is displayed

          For terminals that do not support UTF-8, the symbol will be replaced with the string k8s.

          To disable a feature, set it to an empty string:

          KUBE_PS1_SEPARATOR=''
          

          Colors

          The default colors are set with the following environment variables:

          Variable Default Meaning
          KUBE_PS1_PREFIX_COLOR null Set default color of the prompt prefix
          KUBE_PS1_SYMBOL_COLOR blue Set default color of the Kubernetes symbol
          KUBE_PS1_CTX_COLOR red Set default color of the context
          KUBE_PS1_SUFFIX_COLOR null Set default color of the prompt suffix
          KUBE_PS1_NS_COLOR cyan Set default color of the namespace
          KUBE_PS1_BG_COLOR null Set default color of the prompt background

          Blue was used for the default symbol to match the Kubernetes color as closely as possible. Red was chosen as the context name to stand out, and cyan for the namespace.

          Set the variable to an empty string if you do not want color for each prompt section:

          KUBE_PS1_CTX_COLOR=''
          

          Names are usable for the following colors:

          black, red, green, yellow, blue, magenta, cyan
          

          256 colors are available by specifying the numerical value as the variable argument.

          Customize display of cluster name and namespace

          You can change how the cluster name and namespace are displayed using the KUBE_PS1_CLUSTER_FUNCTION and KUBE_PS1_NAMESPACE_FUNCTION variables respectively.

          For the following examples let's assume the following:

          cluster name: sandbox.k8s.example.com namespace: alpha

          If you're using domain style cluster names, your prompt will get quite long very quickly. Let's say you only want to display the first portion of the cluster name (sandbox), you could do that by adding the following:

          function get_cluster_short() {
            echo "$1" | cut -d . -f1
          }
          
          KUBE_PS1_CLUSTER_FUNCTION=get_cluster_short

          The same pattern can be followed to customize the display of the namespace. Let's say you would prefer the namespace to be displayed in all uppercase (ALPHA), here's one way you could do that:

          function get_namespace_upper() {
              echo "$1" | tr '[:lower:]' '[:upper:]'
          }
          
          export KUBE_PS1_NAMESPACE_FUNCTION=get_namespace_upper

          In both cases, the variable is set to the name of the function, and you must have defined the function in your shell configuration before kube_ps1 is called. The function must accept a single parameter and echo out the final value.

          Bug Reports and shell configuration

          Due to the vast ways of customizing the shell, please try the prompt with a minimal configuration before submitting a bug report.

          This can be done as follows for each shell before loading kube-ps1:

          Bash:

          bash --norc

          Zsh:

          zsh -f
          or
          zsh --no-rcs

          Contributors

          瀏覽 24
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩一级在线视频 | 欧洲亚洲日本在线 | 成人一区三级片 | 韩国三级小视频 | 91麻豆精品91久久久ios版 |