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 kamu memulai
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
-
Unduh versi terbarunya dengan perintah:
curl -LO https://dl.k8s.io/release/`curl -LS https://dl.k8s.io/release/stable.txt`/bin/linux/amd64/kubectl
Untuk mengunduh versi spesifik, ganti bagian
curl -LS https://dl.k8s.io/release/stable.txt
dengan versi yang diinginkan.Misalnya, untuk mengunduh versi 1.31.0 di Linux, ketik:
curl -LO https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl
-
Jadikan program
kubectl
dapat dieksekusi.chmod +x ./kubectl
-
Pindahkan ke PATH kamu.
sudo mv ./kubectl /usr/local/bin/kubectl
-
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/rpm-package-key.gpg
EOF
yum install -y kubectl
Menginstal dengan manajer paket lain
Menginstal kubectl pada macOS
Menginstal program kubectl dengan curl pada macOS
-
Unduh versi terbarunya dengan perintah:
curl -LO "https://dl.k8s.io/release/$(curl -LS https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
Untuk mengunduh versi spesifik, ganti bagian
curl -LS https://dl.k8s.io/release/stable.txt
dengan versi yang diinginkan.Misalnya, untuk mengunduh versi 1.31.0 pada macOS, ketik:
curl -LO https://dl.k8s.io/release/v1.31.0/bin/darwin/amd64/kubectl
-
Buat agar program
kubectl
dapat dijalankan.chmod +x ./kubectl
-
Pindahkan ke PATH kamu.
sudo mv ./kubectl /usr/local/bin/kubectl
-
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.
-
Jalankan perintah:
brew install kubectl
atau
brew install kubernetes-cli
-
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.
-
Jalankan perintah:
sudo port selfupdate sudo port install kubectl
-
Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Menginstal kubectl pada Windows
Menginstal program kubectl dengan curl pada Windows
-
Unduh versi terbarunya 1.31.0 dari tautan ini.
Atau jika sudah ada
curl
pada mesin kamu, jalankan perintah ini:curl -LO https://dl.k8s.io/release/v1.31.0/bin/windows/amd64/kubectl.exe
Untuk mendapatkan versi stabil terakhir (misalnya untuk scripting), lihat di https://dl.k8s.io/release/stable.txt.
-
Tambahkan program yang sudah diunduh tersebut ke PATH kamu.
-
Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Catatan:
Docker Desktop untuk Windows sudah menambahkan versikubectl
-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.
-
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 menambahkanDownloadLocation
,kubectl
akan diinstal di dalam direktori temp pengguna.Penginstal akan membuat
$HOME/.kube
dan membuat berkas konfigurasi -
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
-
Pastikan instalasinya sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
-
Pindah ke direktori utama:
cd %USERPROFILE%
-
Buat direktori
.kube
:mkdir .kube
-
Pindah ke direktori
.kube
yang baru saja dibuat:cd .kube
-
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.
-
Instal Google Cloud SDK.
-
Jalankan perintah instalasi
kubectl
:gcloud components install kubectl
-
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 penyelesaiankubectl
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 darikubectl
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 untukkubectl
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 direktoriBASH_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 'compdef __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
- Menginstal Minikube.
- Lihat panduan persiapan untuk mencari tahu tentang pembuatan klaster.
- Pelajari cara untuk menjalankan dan mengekspos aplikasimu.
- Jika kamu membutuhkan akses ke klaster yang tidak kamu buat, lihat dokumen Berbagi Akses Klaster.
- Baca dokumen referensi kubectl