Edit This Page

Menginstal dan Menyiapkan kubectl

Kubectl adalah alat baris perintah (command line tool) Kubernetes yang digunakan untuk menjalankan berbagai perintah untuk klaster Kubernetes. Kamu dapat menggunakan kubectl untuk men-deploy aplikasi, mengatur sumber daya klaster, dan melihat log. Daftar operasi kubectl dapat dilihat di Ikhtisar kubectl.

Sebelum mulai

Kamu harus menggunakan kubectl dengan perbedaan maksimal satu versi minor dengan klaster kamu. Misalnya, klien v1.2 masih dapat digunakan dengan master v1.1, v1.2, dan 1.3. Menggunakan versi terbaru kubectl dapat menghindari permasalahan yang tidak terduga.

Menginstal kubectl pada Linux

Menginstal program kubectl menggunakan curl pada Linux

  1. Unduh versi terbarunya dengan perintah:

    curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
    

    Untuk mengunduh versi spesifik, ganti bagian curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt dengan versi yang diinginkan.

    Misalnya, untuk mengunduh versi v1.18.0 di Linux, ketik:

    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
    
  2. Jadikan program kubectl dapat dieksekusi.

    chmod +x ./kubectl
    
  3. Pindahkan ke PATH kamu.

    sudo mv ./kubectl /usr/local/bin/kubectl
    
  4. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    

Menginstal dengan manajer paket (package manager) bawaan


sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2
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/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl

Menginstal dengan manajer paket lain

Jika kamu menggunakan Ubuntu atau versi Linux lain yang mendukung manajer paket snap, kubectl tersedia dalam bentuk aplikasi di snap.

snap install kubectl --classic

kubectl version --client

Jika kamu menggunakan Linux dengan manajer paket Homebrew, kubectl sudah tersedia untuk diinstal di Homebrew.

brew install kubectl

kubectl version --client

Menginstal kubectl pada macOS

Menginstal program kubectl dengan curl pada macOS

  1. Unduh versi terbarunya dengan perintah:

    curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
    

    Untuk mengunduh versi spesifik, ganti bagian curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt dengan versi yang diinginkan.

    Misalnya, untuk mengunduh versi v1.18.0 pada macOS, ketik:

    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl
    
  2. Buat agar program kubectl dapat dijalankan.

    chmod +x ./kubectl
    
  3. Pindahkan ke PATH kamu.

    sudo mv ./kubectl /usr/local/bin/kubectl
    
  4. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    

Menginstal dengan Homebrew pada macOS

Jika kamu menggunakan macOS dan manajer paket Homebrew, kamu dapat menginstal kubectl langsung dengan Homebrew.

  1. Jalankan perintah:

    brew install kubectl 
    

    atau

    brew install kubernetes-cli
    
  2. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    

Menginstal dengan Macports pada macOS

Jika kamu menggunakan macOS dan manajer paket Macports, kamu dapat menginstal kubectl langsung dengan Macports.

  1. Jalankan perintah:

    sudo port selfupdate
    sudo port install kubectl
    
  2. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    

Menginstal kubectl pada Windows

Menginstal program kubectl dengan curl pada Windows

  1. Unduh versi terbarunya v1.18.0 dari tautan ini.

    Atau jika sudah ada curl pada mesin kamu, jalankan perintah ini:

    curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/windows/amd64/kubectl.exe
    

    Untuk mendapatkan versi stabil terakhir (misalnya untuk scripting), lihat di https://storage.googleapis.com/kubernetes-release/release/stable.txt.

  2. Tambahkan program yang sudah diunduh tersebut ke PATH kamu.

  3. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    
Catatan: Docker Desktop untuk Windows sudah menambahkan versi kubectl-nya sendiri ke PATH. Jika kamu sudah menginstal Docker Desktop, kamu harus menambahkan entrinya ke PATH sebelum yang ditambahkan oleh penginstal (installer) Docker Desktop atau kamu dapat menghapus kubectl bawaan dari Docker Desktop.

Menginstal dengan Powershell dari PSGallery

Jika kamu menggunakan Windows dan manajer paket Powershell Gallery, kamu dapat menginstal dan melakukan pembaruan kubectl dengan Powershell.

  1. Jalankan perintah berikut (jangan lupa untuk memasukkan DownloadLocation):

    Install-Script -Name install-kubectl -Scope CurrentUser -Force
    install-kubectl.ps1 [-DownloadLocation <path>]
    
    Catatan: Jika kamu tidak menambahkan DownloadLocation, kubectl akan diinstal di dalam direktori temp pengguna.

    Penginstal akan membuat $HOME/.kube dan membuat berkas konfigurasi

  2. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    
    Catatan: Proses pembaruan dapat dilakukan dengan menjalankan ulang dua perintah yang terdapat pada langkah 1.

Menginstal pada Windows menggunakan Chocolatey atau Scoop

Untuk menginstal kubectl pada Windows, kamu dapat menggunakan manajer paket Chocolatey atau penginstal baris perintah Scoop.

choco install kubernetes-cli
scoop install kubectl

  1. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    
  2. Pindah ke direktori utama:

    cd %USERPROFILE%
    
  3. Buat direktori .kube:

    mkdir .kube
    
  4. Pindah ke direktori .kube yang baru saja dibuat:

    cd .kube
    
  5. Lakukan konfigurasi kubectl untuk menggunakan klaster Kubernetes remote:

    New-Item config -type file
    
    Catatan: Ubah berkas konfigurasi dengan penyunting (editor) teks pilihanmu, misalnya Notepad.

Mengunduh sebagai bagian dari Google Cloud SDK

Kamu dapat menginstal kubectl sebagai bagian dari Google Cloud SDK.

  1. Instal Google Cloud SDK.

  2. Jalankan perintah instalasi kubectl:

    gcloud components install kubectl
    
  3. Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:

    kubectl version --client
    

Memeriksa konfigurasi kubectl

Agar kubectl dapat mengakses klaster Kubernetes, dibutuhkan sebuah berkas kubeconfig, yang akan otomatis dibuat ketika kamu membuat klaster baru menggunakan kube-up.sh atau setelah berhasil men-deploy klaster Minikube. Secara bawaan, konfigurasi kubectl disimpan di ~/.kube/config.

Kamu dapat memeriksa apakah konfigurasi kubectl sudah benar dengan mengambil keadaan klaster:

kubectl cluster-info

Jika kamu melihat respons berupa URL, maka konfigurasi klaster kubectl sudah benar.

Tetapi, jika kamu melihat pesan seperti di bawah, maka kubectl belum dikonfigurasi dengan benar atau tidak dapat terhubung ke klaster Kubernetes.

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

Selanjutnya, jika kamu ingin menjalankan klaster Kubernetes di laptop (lokal) kamu, kamu memerlukan sebuah perangkat seperti Minikube sebelum menjalankan ulang perintah yang ada di atas.

Jika kubectl cluster-info mengembalikan respons URL tetapi kamu masih belum dapat mengakses klaster, kamu bisa menggunakan perintah di bawah untuk memeriksa apakah klaster sudah dikonfigurasi dengan benar.

kubectl cluster-info dump

Konfigurasi kubectl opsional

Menyalakan penyelesaian otomatis untuk terminal

kubectl menyediakan fitur penyelesaian otomatis (auto complete) untuk Bash dan Zsh yang dapat memudahkanmu ketika mengetik di terminal.

Ikuti petunjuk di bawah untuk menyalakan penyelesaian otomatis untuk Bash dan Zsh.

Pendahuluan

Skrip penyelesaian (completion script) kubectl untuk Bash dapat dibuat dengan perintah kubectl completion bash. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan penyelesaian otomatis dari kubectl.

Namun, skrip penyelesaian tersebut bergantung pada bash-completion, yang artinya kamu harus menginstal program tersebut terlebih dahulu (kamu dapat memeriksa apakah kamu sudah memiliki bash-completion dengan menjalankan perintah type _init_completion).

Menginstal bash-completion

bash-completion disediakan oleh banyak manajer paket (lihat di sini). Kamu dapat menginstalnya dengan menggunakan perintah apt-get install bash-completion atau yum install bash-completion, dsb.

Perintah di atas akan membuat skrip utama bash-completion di /usr/share/bash-completion/bash_completion. Terkadang kamu juga harus menambahkan skrip tersebut ke dalam berkas ~/.bashrc, tergantung manajer paket yang kamu pakai.

Untuk memastikannya, muat ulang terminalmu dan jalankan type _init_completion. Jika perintah tersebut berhasil, maka instalasi selesai. Jika tidak, tambahkan teks berikut ke dalam berkas ~/.bashrc:

source /usr/share/bash-completion/bash_completion

Muat ulang terminalmu dan pastikan bash-completion sudah berhasil diinstal dengan menjalankan type _init_completion.

Menyalakan penyelesaian otomatis kubectl

Sekarang kamu harus memastikan bahwa skrip penyelesaian untuk kubectl sudah dimasukkan sebagai sumber penyelesaian otomatis pada semua sesi terminal. Kamu dapat melakukannya dengan dua cara:

  • Masukkan skrip penyelesaian sebagai sumber di berkas ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Tambahkan skrip penyelesaian ke direktori /etc/bash_completion.d:

    kubectl completion bash >/etc/bash_completion.d/kubectl
    

Jika kamu menggunakan alias untuk kubectl, kamu masih dapat menggunakan fitur penyelesaian otomatis dengan menjalankan perintah:

```shell
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc
```
Catatan: Semua sumber skrip penyelesaian bash-completion terdapat di /etc/bash_completion.d.

Kedua cara tersebut sama, kamu bisa memilih salah satunya. Setelah memuat ulang terminal, penyelesaian otomatis dari kubectl seharusnya sudah dapat bekerja.

Pendahuluan

Skrip penyelesaian (completion script) kubectl untuk Bash dapat dibuat dengan perintah kubectl completion bash. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan penyelesaian otomatis dari kubectl.

Namun, skrip penyelesaian tersebut bergantung pada bash-completion, yang artinya kamu harus menginstal program tersebut terlebih dahulu.

Peringatan: Terdapat dua versi bash-completion, v1 dan v2. V1 untuk Bash 3.2 (bawaan dari macOs), dan v2 untuk Bash 4.1+. Skrip penyelesaian kubectl tidak kompatibel dengan bash-completion v1 dan Bash 3.2. Dibutuhkan bash-completion v2 dan Bash 4.1+ agar skrip penyelesaian kubectl dapat bekerja dengan baik. Maka dari itu, kamu harus menginstal dan menggunakan Bash 4.1+ (panduan) untuk dapat menggunakan fitur penyelesaian otomatis dari kubectl. Ikuti panduan di bawah setelah kamu menginstal Bash 4.1+ (yaitu, Bash versi 4.1 atau lebih baru).

Pemutakhiran Bash

Panduan di bawah berasumsi kamu menggunakan Bash 4.1+. Kamu dapat memeriksa versi Bash dengan menjalankan:

echo $BASH_VERSION

Jika versinya sudah terlalu usang, kamu dapat menginstal/memutakhirkannya dengan menggunakan Homebrew:

brew install bash

Muat ulang terminalmu dan pastikan versi yang diharapkan sudah dipakai:

echo $BASH_VERSION $SHELL

Homebrew biasanya akan menginstalnya di /usr/local/bin/bash.

Menginstal bash-completion

Catatan: Seperti yang sudah disebutkan, panduan di bawah berasumsi kamu menggunakan Bash 4.1+, yang berarti kamu akan menginstal bash-completion v2 (penyelesaian otomatis dari kubectl tidak kompatibel dengan Bash 3.2 dan bash-completion v1).

Kamu dapat memeriksa apakah kamu sudah memiliki bash-completion v2 dengan perintah type _init_completion. Jika belum, kamu dapat menginstalnya dengan menggunakan Homebrew:

brew install bash-completion@2

Seperti yang disarankan pada keluaran perintah di atas, tambahkan teks berikut ke berkas ~/.bashrc:

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"

Muat ulang terminalmu dan pastikan bash-completion v2 sudah terinstal dengan perintah type _init_completion.

Menyalakan penyelesaian otomatis kubectl

Sekarang kamu harus memastikan bahwa skrip penyelesaian untuk kubectl sudah dimasukkan sebagai sumber penyelesaian otomatis di semua sesi terminal. Kamu dapat melakukannya dengan beberapa cara:

  • Masukkan skrip penyelesaian sebagai sumber di berkas ~/.bashrc:

    echo 'source <(kubectl completion bash)' >>~/.bashrc
    
  • Menambahkan skrip penyelesaian ke direktori /etc/bash_completion.d:

    kubectl completion bash >/etc/bash_completion.d/kubectl
    
  • Jika kamu menggunakan alias untuk kubectl, kamu masih dapat menggunakan fitur penyelesaian otomatis dengan menjalankan perintah:

    echo 'alias k=kubectl' >>~/.bashrc
    echo 'complete -F __start_kubectl k' >>~/.bashrc
    
  • Jika kamu menginstal kubectl dengan Homebrew (seperti yang sudah dijelaskan di atas), maka skrip penyelesaian untuk kubectl sudah berada di /usr/local/etc/bash_completion.d/kubectl. Kamu tidak perlu melakukan apa-apa lagi.

Catatan: bash-completion v2 yang diinstal dengan Homebrew meletakkan semua berkas nya di direktori BASH_COMPLETION_COMPAT_DIR, itulah alasannya dua cara terakhir dapat bekerja.

Setelah memuat ulang terminal, penyelesaian otomatis dari kubectl seharusnya sudah dapat bekerja.

Skrip penyelesaian (completion script) kubectl untuk Zsh dapat dibuat dengan perintah kubectl completion zsh. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan penyelesaian otomatis dari kubectl.

Tambahkan baris berikut di berkas ~/.zshrc untuk menyalakan penyelesaian otomatis dari kubectl:

source <(kubectl completion zsh)

Jika kamu menggunakan alias untuk kubectl, kamu masih dapat menggunakan fitur penyelesaian otomatis dengan menjalankan perintah:

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

Setelah memuat ulang terminal, penyelesaian otomatis dari kubectl seharusnya sudah dapat bekerja.

Jika kamu mendapatkan pesan gagal seperti complete:13: command not found: compdef, maka tambahkan teks berikut ke awal berkas ~/.zshrc:

autoload -Uz compinit
compinit

Selanjutnya