1 - Cài đặt và cấu hình kubectl

Công cụ command-line trong Kubernetes, kubectl, cho phép bạn thực thi các câu lệnh trong Kubernetes clusters. Bạn có thể sử dụng kubectl để triển khai các ứng dụng, theo dõi và quản lý tài nguyên của cluster, và xem log. Để biết các thao tác của kubectl, truy cập tới Tổng quan về kubectl.

Trước khi bạn bắt đầu

Bạn cần phải sử dụng phiên bản kubectl sai lệch không quá một phiên bản với version của cluster. Ví dụ, một client v1.2 nên được hoạt động với master v1.1, v1.2 và v1.3. Sử dụng phiên bản mới nhất của kubectl giúp tránh được các vấn đề không lường trước được.

Cài đặt kubectl trên Linux

Cài đặt kubectl binary với curl trên Linux

  1. Tải về phiên bản mới nhất với câu lệnh:

    curl -LO https://dl.k8s.io/release/`curl -LS https://dl.k8s.io/release/stable.txt`/bin/linux/amd64/kubectl
    

    Để tải về phiên bản cụ thể, hãy thay thế phần $(curl -LS https://dl.k8s.io/release/stable.txt) trong câu lệnh với một phiên bản cụ thể.

    Ví dụ như, để tải về phiên bản 1.32.0 trên Linux, hãy nhập như sau:

    curl -LO https://dl.k8s.io/release/v1.32.0/bin/linux/amd64/kubectl
    
  2. Tạo kubectl binary thực thi.

    chmod +x ./kubectl
    
  3. Đưa bản binary vào biến môi trường PATH của bạn.

    sudo mv ./kubectl /usr/local/bin/kubectl
    
  4. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Cài đặt kubectl sử dụng trình quản lý gói


sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

Cài đặt với snap

Nếu bạn đang sử dụng Ubuntu hoặc distro Linux khác hỗ trợ trình quản lý gói snap, thì kubectl đã có sẵn trong snap.

  1. Chuyển sang user snap và thực thi câu lệnh cài đặt:

    sudo snap install kubectl --classic
    
  2. Kiểm tra phiên bản bạn vừa cài là mới nhất:

    kubectl version
    

Cài đặt kubectl trên macOS

Cài đặt kubectl binary với curl trên macOS

  1. Tải về phiên bản mới nhất:

    curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
    

    Để tải về phiên bản cụ thể, hãy thay thế phần $(curl -LS https://dl.k8s.io/release/stable.txt) trong câu lệnh với phiên bản cụ thể.

    Ví dụ, để tải về phiên bản 1.32.0 trên macOS, gõ:

    curl -LO https://dl.k8s.io/release/v1.32.0/bin/darwin/amd64/kubectl
    
  2. Tạo kubectl binary thực thi.

    chmod +x ./kubectl
    
  3. Đưa bản binary vào biến môi trường PATH của bạn.

    sudo mv ./kubectl /usr/local/bin/kubectl
    
  4. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Cài đặt với Homebrew trên macOS

Nếu bạn đang trên macOS và sử dụng trình quản lý gói Homebrew, bạn có thể cài đặt kubectl với Homebrew.

  1. Chạy câu lệnh cài đặt:

    brew install kubectl 
    

    hoặc

    brew install kubernetes-cli
    
  2. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Cài đặt với Macports trên macOS

Nếu bạn đang trên macOS và sử dụng trình quản lý gói Macports, bạn có thể cài đặt kubectl với Macports.

  1. Chạy câu lệnh cài đặt:

    sudo port selfupdate
    sudo port install kubectl
    
  2. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Cài đặt kubectl trên Windows

Cài đặt kubectl binary với curl trên Windows

  1. Tải về phiên bản mới nhất 1.32.0 từ đường dẫn này.

    Hoặc nếu bạn đã cài đặt curl, hãy sử dụng câu lệnh sau:

    curl -LO https://dl.k8s.io/release/v1.32.0/bin/windows/amd64/kubectl.exe
    

    Để tìm ra phiên bản ổn định mới nhất, hãy xem https://dl.k8s.io/release/stable.txt.

  2. Đưa bản binary vào biến môi trường PATH của bạn.

  3. Kiểm tra chắn chắn phiên bản kubectl giống với bản đã tải về:

    kubectl version
    

Cài đặt với Powershell từ PSGallery

Nếu bạn đang ở trên Windows và sử dụng trình quản lý gói Powershell Gallery, bạn có thể cài đặt và cập nhật kubectl với Powershell.

  1. Thực thi các câu lệnh cài đặt sau (hãy đảm bảo bạn tự định nghĩa DownloadLocation):

    Install-Script -Name install-kubectl -Scope CurrentUser -Force
    install-kubectl.ps1 [-DownloadLocation <path>]
    

    Bản cài đặt sẽ tạo ra $HOME/.kube và hướng dẫn để tạo ra file cấu hình

  2. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Cài đặt trên Windows sử dụng Chocolatey hoặc Scoop

Để cài đặt kubectl trên Windows bạn có thể sử dụng trình quản lý gói Chocolatey hoặc bộ cài đặt câu lệnh Scoop.

choco install kubernetes-cli

scoop install kubectl
2. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

```
kubectl version
```
  1. Di chuyển tới thư mục home của bạn:

    cd %USERPROFILE%
    
  2. Tạo thư mục .kube:

    mkdir .kube
    
  3. Di chuyển tới thư mục .kube bạn vừa mới tạo:

    cd .kube
    
  4. Cấu hình kubectl để sử dụng Kubernetes cluster từ xa:

    New-Item config -type file
    

Tải xuống từ một phần của Google Cloud SDK

Bạn có thể cài đặt kubectl từ một phần của Google Cloud SDK.

  1. Cài đặt Google Cloud SDK.

  2. Thực thi câu lệnh cài đặt kubectl:

    gcloud components install kubectl
    
  3. Kiểm tra chắc chắn rằng phiên bản bạn cài là mới nhất:

    kubectl version
    

Xác minh cấu hình kubectl

Để kubectl tìm kiếm và truy cập Kubernetes cluster, nó cần một kubeconfig file, được tự động tạo ra khi bạn tạo mới một cluster sử dụng kube-up.sh hoặc triển khai thành công một Minikube cluster. Mặc định thì cấu hình của kubectl được xác định tại ~/.kube/config.

Kiểm tra kubectl được cấu hình đúng bằng việc xem trạng thái của cluster:

kubectl cluster-info

Nếu bạn trông thấy một URL phản hồi, thì kubectl đã được cấu hình đúng để truy cập vào cluster của bạn.

Nếu bạn trông thấy một tin nhắn tương tự bên dưới, thì kuberctl chưa được cấu hình đúng hoặc chưa thể kết nối với Kubernetes cluster.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Ví dụ như, nếu bạn đang định chạy một Kubernetes cluster trên laptop của bạn (locally), bạn sẽ cần một công cụ như Minikube được cài trước đó và chạy lại các câu lệnh bên trên.

Nếu kubectl cluster-info trả về url nhưng bạn không thể truy cập vào cluster của bạn, thì hãy kiểm tra nó đã được cấu hình đúng hay chưa, bằng cách:

kubectl cluster-info dump

Các lựa chọn cấu hình kubectl

Kích hoạt shell autocompletion

kubectl cung cấp autocompletion hỗ trợ cho Bash and Zsh, giúp bạn giảm thiểu việc phải gõ nhiều câu lệnh.

Bên dưới đâu là các bước để thiết lập autocompletion cho Bash (bao gồm sự khác nhau giữa Linux và macOS) và Zsh.

Giới thiệu

Kubelet completion script cho Bash được tạo ra với câu lệnh kubectl completion bash. Sau khi script được tạo ra, bạn cần source (thực thi) script đó để kích hoạt tính năng autocompletion.

Tuy nhiên, completion script phụ thuộc vào bash-completion, nên bạn phải cài đặt bash-completion trước đó (kiểm tra bash-completion tồn tại với câu lệnh type _init_completion).

Cài đặt bash-completion

bash-completion được cung cấp bởi nhiều trình quản lý gói (xem tại đây). Bạn có thể cài đặt với lệnh apt-get install bash-completion hoặc yum install bash-completion.

Các lệnh trên tạo ra /usr/share/bash-completion/bash_completion, đây là script chính của bash-completion. Tùy thuộc vào trình quản lý gói của bạn, mà bạn phải source (thực thi) file này trong file ~/.bashrc.

Để tìm ra file này, reload lại shell hiện tại của bạn và chạy lệnh type _init_completion. Nếu thành công, bạn đã thiết lập xong, không thì hãy thêm đoạn sau vào file ~/.bashrc của bạn:

source /usr/share/bash-completion/bash_completion

Reload lại shell của bạn và xác nhận bash-completion được cài đặt đúng bằng lệnh type _init_completion.

Kích hoạt kubectl autocompletion

Bây giờ bạn cần đảm bảo rằng kubectl completion script được sourced trên tất cả các session của shell. Có 2 cách để làm việc này:

  • Source script trong file ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Thêm script vào thư mục /etc/bash_completion.d:

    kubectl completion bash >/etc/bash_completion.d/kubectl
    
  • Nếu bạn có một alias cho kubectl, bạn có thể thêm một shell completion nữa cho alias đó:

    echo 'alias k=kubectl' >>~/.bashrc
    echo 'complete -F __start_kubectl k' >>~/.bashrc
    

Các cách trên đều hiệu quả tương đương nhau. Sau khi reload lại shell, kubectl autocompletion sẽ làm việc.

Giới thiệu

Kubectl completion script trên Bash được tạo ra bởi kubectl completion bash. Source script này sẽ kích hoạt tính năng kubectl completion.

Tuy nhiên, kubectl completion script phụ thuộc vào bash-completion mà bạn cài trước đó.

Cài đặt bash-completion

Bạn có thể kiểm tra bash-completion v2 đã cài đặt trước đó chưa với lệnh type _init_completion. Nếu chưa, bạn có thể cài đặt nó với Homebrew:

brew install bash-completion@2

Từ đầu ra của lệnh này, hãy thêm đoạn sau vào file ~/.bashrc của bạn:

export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"

Tải lại shell của bạn và xác minh rằng bash-completion v2 được cài đặt chính xác chưa bằng lệnh type _init_completion.

Kích hoạt kubectl autocompletion

Bây giờ bạn phải đảm bảo rằng kubectl completion script đã được sourced trong tất cả các phiên shell của bạn. Có nhiều cách để đạt được điều này:

  • Source completion script trong file ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Thêm completion script vào thư mục /usr/local/etc/bash_completion.d:

    kubectl completion bash >/usr/local/etc/bash_completion.d/kubectl
    
  • Nếu bạn có alias cho kubectl, bạn có thể mở rộng shell completion để làm việc với alias đó:

    echo 'alias k=kubectl' >>~/.bashrc
    echo 'complete -F __start_kubectl k' >>~/.bashrc
    
  • Nếu bạn đã cài kubectl với Homebrew (như đã giới thiệu bên trên)) thì kubectl completion script sẽ có trong /usr/local/etc/bash_completion.d/kubectl. Trong trường hợp này thì bạn không cần làm gì cả.

Trong mọi trường hợp, sau khi tải lại shell của bạn, kubectl completion sẽ hoạt động.

Kubectl completion script cho Zsh được tạo ra với lệnh kubectl completion zsh. Source completion script trong shell của bạn sẽ kích hoạt kubectl autocompletion.

Để nó hoạt động cho tất cả các shell, thêm dòng sau vào file ~/.zshrc:

source <(kubectl completion zsh)

Nếu bạn có alias cho kubectl, bạn có thể mở rộng shell completion để làm việc với alias đó:

echo 'alias k=kubectl' >>~/.zshrc
echo 'compdef __start_kubectl k' >>~/.zshrc

Sau khi tải lại shell, kubectl autocompletion sẽ hoạt động.

Nếu bạn nhận được lỗi complete:13: command not found: compdef, thêm dòng sau vào đầu file ~/.zshrc:

autoload -Uz compinit
compinit

Tiếp theo là gì

2 - Cài đặt và cấu hình kubectl trên Linux

Trước khi bạn bắt đầu

Bạn cần sử dụng phiên bản kubectl có chênh lệch không quá một phiên bản phụ (minor) so với Kubernetes cluster của bạn. Ví dụ: Một kubectl phiên bản v1.32 có thể tương tác với các control plane phiên bản v1.31, v1.32 và v1.33. Việc sử dụng kubectl với phiên bản mới nhất và chênh lệch không quá một phiên bản phụ sẽ giúp tránh các sự cố ngoài dự kiến.

Cài đặt kubectl trên Linux

Bạn có thể cài đặt kubectl trên Linux bằng các phương pháp sau:

Cài đặt tệp binary kubectl bằng curl trên Linux

  1. Tải xuống phiên bản mới nhất bằng lệnh:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
       
  2. Xác minh tệp binary (bước này không bắt buộc)

    Tải xuống tệp checksum của kubectl:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl.sha256"
       

    Xác minh tệp binary kubectl với tệp checksum:

    echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
    

    Nếu hợp lệ, kết quả sẽ là:

    kubectl: OK
    

    Nếu việc kiểm tra thất bại, bạn sẽ nhận được thông báo:

    kubectl: FAILED
    sha256sum: WARNING: 1 computed checksum did NOT match
    
  3. Cài đặt kubectl

    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    
  4. Kiểm tra phiên bản đã cài đặt:

    kubectl version --client
    

    Hoặc để xem chi tiết hơn:

    kubectl version --client --output=yaml
    

Cài đặt bằng trình quản lý gói của hệ điều hành

  1. Cập nhật apt và cài các gói cần thiết:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
  1. Thêm khóa xác thực của Kubernetes:
sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  1. Thêm repository Kubernetes vào APT:
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list
  1. Cài đặt kubectl:
sudo apt-get update
sudo apt-get install -y kubectl

  1. Thêm repository Kubernetes vào YUM:

    cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
    enabled=1
    gpgcheck=1
    gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
    EOF
    
  2. Cài kubectl bằng YUM:

    sudo yum install -y kubectl
    

  1. Thêm repository Kubernetes vào Zypper:

    cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
    enabled=1
    gpgcheck=1
    gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
    EOF
    
  2. Cập nhật Zypper:

    sudo zypper update
    

    When this message appears, press 't' or 'a':

    New repository or package signing key received:
    
    Repository:       Kubernetes
    Key Fingerprint:  1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA
    Key Name:         isv:kubernetes OBS Project <isv:kubernetes@build.opensuse.org>
    Key Algorithm:    RSA 2048
    Key Created:      Thu 25 Aug 2022 01:21:11 PM -03
    Key Expires:      Sat 02 Nov 2024 01:21:11 PM -03 (expires in 85 days)
    Rpm Name:         gpg-pubkey-9a296436-6307a177
    
    Note: Signing data enables the recipient to verify that no modifications occurred after the data
    were signed. Accepting data with no, wrong or unknown signature can lead to a corrupted system
    and in extreme cases even to a system compromise.
    
    Note: A GPG pubkey is clearly identified by its fingerprint. Do not rely on the key's name. If
    you are not sure whether the presented key is authentic, ask the repository provider or check
    their web site. Many providers maintain a web page showing the fingerprints of the GPG keys they
    are using.
    
    Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
    
  3. Cài kubectl bằng Zypper:

    sudo zypper install -y kubectl
    

Cài đặt bằng các trình quản lý gói khác

If you are on Ubuntu or another Linux distribution that supports the snap package manager, kubectl is available as a snap application.

snap install kubectl --classic
kubectl version --client

brew install kubectl
kubectl version --client

Xác minh cấu hình kubectl

Để kubectl có thể tìm kiếm và truy cập vào Kubernetes cluster, nó cần một tệp kubeconfig, được tạo tự động khi chúng ta tạo một cluster bằng kube-up.sh hoặc khi triển khai thành công cluster Minikube.
Mặc định, thông tin cấu hình của kubectl được định nghĩa trong ~/.kube/config.

Chúng ta có thể kiểm tra xem kubectl đã được cấu hình đúng chưa bằng cách kiểm tra thông tin của cluster:

kubectl cluster-info

Nếu bạn thấy kết quả trả về là một đường dẫn, thì kubectl đã được cấu hình đúng để truy cập cluster của chúng ta.

Nếu bạn thấy thông báo tương tự như dưới đây, điều đó có nghĩa kubectl chưa được cấu hình đúng hoặc không thể kết nối tới Kubernetes cluster.

The connection to the server <server-name:port> was refused - did you specify the right host or port?

Thông báo trên, được kubectl trả về, mong bạn kiểm tra lại đường dẫn (bao host và port) tới cluster đã đúng hay chưa

Ví dụ, nếu bạn đang dự định tạo một Kubernetes cluster trên máy tính cá nhân, bạn sẽ cần cài đặt một công cụ như Minikube trước, sau đó chạy lại các lệnh đã nêu ở trên.

Nếu lệnh kubectl cluster-info trả về đường dẫn nhưng bạn vẫn không thể truy cập vào cluster, hãy kiểm tra cấu hình kỹ hơn bằng lệnh sau:

kubectl cluster-info dump

Xử lý lỗi 'No Auth Provider Found'

Ở phiên bản 1.26 của Kubernetes, kubectl đã loại bỏ tính năng xác thực tích hợp sẵn cho các dịch vụ Kubernetes được quản lý bởi các nhà cung cấp đám mây dưới đây. Các nhà cung cấp này đã phát hành plugin kubectl để hỗ trợ xác thực dành riêng cho nền tảng của họ. Tham khảo tài liệu hướng dẫn của nhà cung cấp để biết thêm thông tin:

(Lưu ý: cùng một thông báo lỗi cũng có thể xuất hiện vì các lý do khác không liên quan đến sự thay đổi này.)

Các cấu hình và plugin tùy chọn của kubectl

Bật tự động hoàn tất trong shell

kubectl hỗ trợ Bash, Zsh, Fish và PowerShell. Xem hướng dẫn đầy đủ:

 

Giới thiệu

  Để tạo script tự động gợi ý các lệnh thuộc kubectl cho Bash, chúng ta dùng lệnh: kubectl completion bash. Trích dẫn script này vào shell của bạn sẽ kích hoạt tính năng tự động gợi ý lệnh cho kubectl.   Tuy nhiên, script này yêu cầu cài đặt bash-completion, như là điều kiện tiên quyết. (Bạn có thể chạy lệnh type _init_completion để kiểm tra xem hệ thống đã có bash-completion chưa.)  

 

Cài đặt bash-completion

  bash-completion được hỗ trợ cài đặt bởi nhiều trình quản lý gói (package manager) (xem thêm tại đây).   Chúng ta có thể cài đặt bằng một trong các lệnh sau:  

sudo apt-get install bash-completion

  hoặc  

sudo yum install bash-completion

  Các lệnh trên sẽ tạo tệp  /usr/share/bash-completion/bash_completion, là script chính của bash-completion.   Tùy vào trình quản lý gói mà bạn đang sử dụng, bạn có thể cần thêm dòng sau vào file ~/.bashrc để sử dụng:  

source /usr/share/bash-completion/bash_completion

  Sau khi reload shell, kiểm tra lại bằng lệnh:  

type _init_completion

 

Kích hoạt tự động gợi ý cho kubectl

 

Bash

  Để đảm bảo rằng script gợi ý lệnh cho kubectl sẽ được trích dẫn trong mọi phiên (session) của shell.   Có hai cách để làm điều này:  


```bash
echo 'source <(kubectl completion bash)' >>~/.bashrc
```


```bash
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
sudo chmod a+r /etc/bash_completion.d/kubectl
```
  Nếu bạn có tên viết tắt (alias) cho kubectl, bạn cũng có thể kích hoạt tự động gợi ý cho tên viết tắt đó bằng các lệnh sau:  

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc

 

  Cả hai cách trên đều cho kết quả giống nhau. Sau khi tải lại shell, các lệnh gợi ý cho kubectl sẽ được hỗ trợ. Để kích hoạt tính năng này ngay trong phiên làm việc hiện tại, hãy chạy:  

source ~/.bashrc

Script gợi ý lệnh kubectl cho Fish có thể được tạo bằng lệnh:

kubectl completion fish

Sau đó trích dẫn script này trong shell để bật tính năng gợi ý lệnh cho kubectl.

Để bật tính năng này trong tất cả các phiên (session) shell, hãy thêm dòng sau vào tập tin ~/.config/fish/config.fish:

kubectl completion fish | source

Sau khi tải shell, tính năng gợi ý của kubectl sẽ được bật.

  Script cho tính năng gợi ý lệnh kubectl cho Zsh có thể được tạo bằng lệnh:  

kubectl completion zsh

  Trích dẫn script này trong shell của bạn để kích hoạt tính năng này cho kubectl.   Để thực hiện tất cả các thao tác nêu trên trong tất cả các phiên (session) của shell, hãy thêm dòng sau vào file ~/.zshrc:  

source <(kubectl completion zsh)

  Nếu bạn có tên viết tắt (alias) cho kubectl thì tính năng này sẽ hoạt động tương tự.   Sau khi tải lại shell, tính năng gợi ý lệnh cho kubectl sẽ được kích hoạt.   Nếu bạn nhận được thông báo lỗi: 2: command not found: compdef, hãy thêm các dòng lệnh dưới đây vào đầu tập tin ~/.zshrc:  

autoload -Uz compinit
compinit

Cài đặt plugin kubectl convert

Đây là một plugin của kubectl, cho phép bạn chuyển đổi các tệp manifest giữa các phiên bản API khác nhau.
Điều này đặc biệt hữu ích khi bạn muốn cập nhật manifest sang phiên bản API mới hơn còn được hỗ trợ, khi cập nhật phiên bản mới cho Kubernetes.

Để biết thêm thông tin, vui lòng truy cập:
migrate to non deprecated apis

  1. Tải xuống binary mới nhất:

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
       

    
       curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl-convert"
       

    Validate the kubectl-convert binary against the checksum file:

    echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
    

    If valid, the output is:

    kubectl-convert: OK
    

    If the check fails, sha256 exits with nonzero status and prints output similar to:

    kubectl-convert: FAILED
    sha256sum: WARNING: 1 computed checksum did NOT match
    
  2. Cài đặt plugin kubectl-convert:

    sudo install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
    
  3. Xác minh plugin đã cài thành công:

    kubectl convert --help
    
  4. Dọn các tệp cài đặt sau khi hoàn tất:

    rm kubectl-convert kubectl-convert.sha256
    

Tiếp theo là gì

Xem thêm tại Bước tiếp theo.

3 - Cài đặt Minikube

Tài liệu này sẽ hướng dẫn các bạn cách cài đặt Minikube, một công cụ chạy một Kubernetes cluster chỉ gồm một node trong một máy ảo (VM) trên máy tính của bạn.

Trước khi bạn bắt đầu

Để kiểm tra xem việc ảo hóa (virtualization) có được hỗ trợ trên Linux không, chạy lệnh sau và chắc chắn rằng kết quả trả về là non-empty:

grep -E --color 'vmx|svm' /proc/cpuinfo

Để kiểm tra xem việc ảo hóa (virtualization) có được hỗ trợ trên macOS không, chạy lệnh sau trên terminal:

sysctl -a | grep -E --color 'machdep.cpu.features|VMX' 

Nếu bạn thấy VMX ở kết quả trả về (có màu), thì VT-x đã được hỗ trợ.

Để kiểm tra xem việc ảo hóa (virtualization) có được hỗ trợ trên Windows 8 và các phiên bản Windows cao hơn không, chạy lệnh sau trên terminal của Windows hoặc command promt.

systeminfo

Nếu bạn thấy những thông tin sau, ảo hóa được hỗ trợ trên Windows.

Hyper-V Requirements:     VM Monitor Mode Extensions: Yes
                          Virtualization Enabled In Firmware: Yes
                          Second Level Address Translation: Yes
                          Data Execution Prevention Available: Yes

Nếu bạn thấy thông tin sau, thì hệ thống đã được cài đặt Hypervisor và bạn có thể bỏ qua bước tiếp theo.

Hyper-V Requirements:     A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Cài đặt minikube

Cài đặt kubectl

Đảm bảo bạn đã cài đặt kubectl. Bạn có thể cài đặt kubectl theo hướng dẫn sau tại Install and Set Up kubectl.

Cài đặt Hypervisor

Nếu bạn chưa cài đặt Hypervisor, hãy cài đặt một trong những phần mềm sau đây:

KVM, sử dụng QEMU

VirtualBox

Cài đặt Minikube sử dụng package

Có các gói thử nghiệm cho Minikube có sẵn; bạn có thể tìm thấy các gói Linux (AMD64) từ trang phát hành của Minikube trên Github.

Sử dụng các package tool của bản phân phối Linux của bạn để cài đặt package phù hợp.

Cài đặt Minikube thông qua tải xuống trực tiếp

Nếu bạn không cài đặt qua package, bạn có thể tải xuống bản binary và sử dụng.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube

Đây là một cách dễ dàng để thêm Minikube vào biến môi trường path của bạn:

sudo mkdir -p /usr/local/bin/
sudo install minikube /usr/local/bin/

Cài đặt Minikube sử dụng Homebrew

Một lựa chọn khác là bạn có thể cài đặt Minikube bằng cách sử dụng Linux Homebrew:

brew install minikube

Cài đặt kubectl

Đảm bảo bạn đã cài đặt kubectl. Bạn có thể cài đặt kubectl theo hướng dẫn sau tại Install and Set Up kubectl.

Cài đặt Hypervisor

Nếu bạn chưa cài đặt Hypervisor, hãy cài đặt một trong những phần mềm sau đây:

HyperKit

VirtualBox

VMware Fusion

Cài đặt Minikube

Cách đơn giản nhất để cài đặt Minikube trên macOS là sử dụng Homebrew:

brew install minikube

Bạn cũng có thể cài đặt trên macOS bằng việc tải xuống bản binary:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \
  && chmod +x minikube

Đây là một cách dễ dàng để thêm Minikube vào biến môi trường path của bạn:

sudo mv minikube /usr/local/bin

Cài đặt kubectl

Đảm bảo bạn đã cài đặt kubectl. Bạn có thể cài đặt kubectl theo hướng dẫn sau tại Install and Set Up kubectl.

Cài đặt Hypervisor

Nếu bạn chưa cài đặt Hypervisor, hãy cài đặt một trong những phần mềm sau đây:

Hyper-V

VirtualBox

Cài đặt Minikube sử dụng Chocolatey

Cách đơn giản nhất để cài đặt Minikube trên Windows là sử dụng Chocolatey (chạy với quyền admin):

choco install minikube

Sau khi Minikube hoàn tất việc cài đặt, hãy đóng CLI hiện tại và khởi động lại. Minikube sẽ được tự động thêm vào biến môi trường path của bạn.

Cài đặt Minikube sử dụng gói cài đặt thực thi

Để cài đặt Minikube thủ công trên Windows sử dụng Windows Installer, tải về minikube-installer.exe và chạy bản cài đặt đó.

Cài đặt Minikube thông qua tải về trực tiếp

Để cài đặt Minikube thủ công trên Windows, tải về minikube-windows-amd64, đổi tên nó thành minikube.exe, và thêm nó vào biến môi trường path.

Dọn dẹp local state

Nếu bạn đã cài Minikube trước đó, và chạy:

minikube start

và tiếp đó minikube start trả về lỗi:

machine does not exist

thì tiếp theo bạn cần xóa bỏ local state của minikube:

minikube delete

Tiếp theo là gì