18 KiB
| title | content_template | weight | card | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Instalasi dan Konfigurasi kubectl | templates/task | 10 |
|
{{% capture overview %}}
Kubectl adalah perangkat barisan perintah Kubernetes yang digunakan untuk menjalankan berbagai perintah untuk kluster Kubernetes. Kamu dapat menggunakan kubectl untuk men-deploy aplikasi, mengatur resource kluster, dan melihat log. Daftar operasi kubectl dapat dilihat di Ikhtisar kubectl.
{{% /capture %}}
{{% capture prerequisites %}}
Kamu boleh menggunakan kubectl versi berapapun selama versi minornya sama atau berbeda satu. Misal, klien v1.2 masih dapat digunakan dengan v1.1, v1.2, dan 1.3 master. Menggunakan versi terbaru kubectl dapat menghindari permasalahan yang tidak terduga.
{{% /capture %}}
{{% capture steps %}}
Instalasi kubectl di Linux
Instalasi binari kubectl dengan curl di Linux
-
Unduh versi terbaru 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/kubectlUntuk mengunduh versi spesifik, ganti bagian
curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txtdengan versi yang diinginkan.Misal, untuk mengunduh versi {{< param "fullversion" >}} di Linux, ketik:
curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl -
Buat agar binari
kubectldapat dijalankan.chmod +x ./kubectl -
Pindahkan ke PATH komputer.
sudo mv ./kubectl /usr/local/bin/kubectl -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Instalasi dengan paket manajer bawaan
{{< tabs name="kubectl_install" >}} {{< tab name="Ubuntu, Debian or HypriotOS" codelang="bash" >}} 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 {{< /tab >}} {{< tab name="CentOS, RHEL or Fedora" codelang="bash" >}}cat < /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 {{< /tab >}} {{< /tabs >}}
Instalasi dengan paket manajer lain
{{< tabs name="other_kubectl_install" >}}
{{% tab name="Snap" %}}
Jika kamu menggunakan Ubuntu atau versi Linux lain yang mendukung paket manajer snap, kubectl tersedia dalam bentuk aplikasi di snap.
snap install kubectl --classic
kubectl version --client
{{% /tab %}}
{{% tab name="Homebrew" %}}
Jika kamu menggunakan Linux dengan paket manajer Homebrew, kubectl sudah tersedia untuk diinstal di Homebrew.
brew install kubectl
kubectl version --client
{{% /tab %}} {{< /tabs >}}
Instalasi kubectl di macOS
Instalasi binari kubectl dengan curl di macOS
-
Unduh versi terbaru 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.txtdengan versi yang diinginkan.Misal, untuk mengunduh versi {{< param "fullversion" >}} di macOS, ketik:
curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/darwin/amd64/kubectl -
Buat agar binari
kubectldapat dijalankan.chmod +x ./kubectl -
Pindahkan ke PATH komputer.
sudo mv ./kubectl /usr/local/bin/kubectl -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Instalasi dengan Homebrew di macOS
Jika kamu menggunakan macOS dan paket manajer Homebrew, kamu dapat menginstal kubectl langsung dengan Homebrew.
-
Jalankan perintah:
brew install kubectlatau
brew install kubernetes-cli -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Instalasi dengan Macports di macOS
Jika kamu menggunakan macOS dan paket manajer Macports, kamu dapat menginstal kubectl langsung dengan Macports.
-
Jalankan perintah:
sudo port selfupdate sudo port install kubectl -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Instalasi kubectl di Windows
Instalasi binari kubectl dengan curl di Windows
-
Unduh versi terbaru {{< param "fullversion" >}} dari [tautan ini](https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe).
Atau jika sudah ada
curl, jalankan perintah ini:curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exeUntuk mendapatkan versi stabil terakhir (misal, untuk scripting), lihat di https://storage.googleapis.com/kubernetes-release/release/stable.txt.
-
Tambahkan binary yang sudah diunduh ke PATH komputer.
-
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
{{< note >}}
Docker Desktop untuk Windows sudah menambahkan versi kubectlnya sendiri ke PATH. Jika kamu sudah menginstal Docker Desktop, kamu harus menambahkan entry ke PATH sebelum yang ditambahkan oleh installer Docker Desktop atau kamu dapat menghapus kubectl bawaan Docker Desktop.
{{< /note >}}
Instalasi dengan Powershell dari PSGallery
Jika kamu menggunakan Windows dan paket manajer 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>]{{< note >}}Jika kamu tidak menambahkan
DownloadLocation,kubectlakan diinstal di dalam direktori temp pengguna.{{< /note >}}Installer akan membuat
$HOME/.kubedan membuat berkas konfigurasi -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client{{< note >}}Proses pembaruan dapat dilakukan dengan menjalankan ulang dua perintah yang terdapat pada langkah 1.{{< /note >}}
Instalasi di Windows menggunaakn Chocolatey atau Scoop
Untuk menginstal kubectl di Windows kamu dapat menggunakan paket manajer Chocolatey atau installer barisan perintah Scoop.
{{< tabs name="kubectl_win_install" >}}
{{% tab name="choco" %}}
choco install kubernetes-cli
{{% /tab %}} {{% tab name="scoop" %}}
scoop install kubectl
{{% /tab %}} {{< /tabs >}}
-
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client -
Pindah ke direktori utama:
cd %USERPROFILE% -
Buat direktori
.kube:mkdir .kube -
Pindah ke direktori
.kubeyang baru saja dibuat:cd .kube -
Lakukan konfigurasi
kubectlagar menggunakan remote kluster Kubernetes:New-Item config -type file{{< note >}}Ubah berkas konfigurasi dengan editor teks pilihanmu, misal Notepad.{{< /note >}}
Unduh dengan menggunakan Google Cloud SDK
Kamu dapat menginstal kubectl dengan menggunakan Google Cloud SDK.
-
Instal Google Cloud SDK.
-
Jalankan perintah instalasi
kubectl:gcloud components install kubectl -
Pastikan instalasi sudah berhasil dengan melakukan pengecekan versi:
kubectl version --client
Memeriksa konfigurasi kubectl
Agar kubectl dapat mengakses kluster Kubernetes, dibutuhkan sebuah berkas kubeconfig, yang akan otomatis dibuat ketika kamu membuat kluster baru menggunakan kube-up.sh atau setelah berhasil men-deploy kluster Minikube. Secara default, konfigurasi kubectl disimpan di ~/.kube/config.
Kamu dapat memeriksa apakah konfigurasi kubectl sudah benar dengan mengambil state kluster:
kubectl cluster-info
Jika kamu melihat respons URL maka konfigurasi kluster kubectl sudah benar.
Tetapi jika kamu melihat pesan seperti di bawah maka kubectl belum dikonfigurasi dengan benar atau tidak dapat terhubung ke kluster Kubernetes.
The connection to the server <server-name:port> was refused - did you specify the right host or port?
Selanjutnya, apabila kamu ingin menjalankan kluster Kubernetes di laptop (lokal), 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 ke kluster, kamu bisa menggunakan perintah di bawah untuk memeriksa apakah kluster sudah dikonfigurasi dengan benar.
kubectl cluster-info dump
Konfigurasi kubectl yang dapat dilakukan
Menyalakan auto complete untuk terminal
kubectl menyediakan fitur auto complete untuk Bash dan Zsh yang dapat memudahkanmu ketika mengetik di terminal.
Ikuti petunjuk di bawah untuk menyalakan auto complete untuk Bash dan Zsh.
{{< tabs name="kubectl_autocompletion" >}}
{{% tab name="Bash di Linux" %}}
Pendahuluan
Completion script kubectl untuk Bash dapat dibuat dengan perintah kubectl completion bash. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan auto complete dari kubectl.
Namun, completion script tersebut tergantung dengan 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).
Instalasi 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, atau 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 paket manajer yang kamu pakai.
Untuk memastikan, muat ulang terminalmu dan jalankan type _init_completion. Jika perintah berhasil maka instalasi selesai. Jika tidak, tambahkan teks berikut ke dalam berkas ~/.bashrc:
source /usr/share/bash-completion/bash_completion
Muat ulang lagi terminalmu dan pastikan bash-completion sudah berhasil diinstal dengan menjalankan type _init_completion.
Menyalakan auto complete kubectl
Sekarang kamu harus memastikan bahwa completion script untuk kubectl sudah dimasukkan sebagai sumber auto complete di semua sesi terminal. Kamu dapat melakukannya dengan dua cara:
-
Masukkan completion script sebagai sumber di berkas
~/.bashrc:echo 'source <(kubectl completion bash)' >>~/.bashrc -
Menambahkan completion script 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 auto complete dengan menjalankan perintah:
```shell
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc
```
{{< note >}}
Semua sumber completion script bash-completion terdapat di /etc/bash_completion.d.
{{< /note >}}
Kedua cara tersebut sama, kamu bisa mengambil salah satu cara saja. Setelah memuat ulang terminal, auto complete dari kubectl seharusnya sudah dapat bekerja.
{{% /tab %}}
{{% tab name="Bash di macOS" %}}
Pendahuluan
Completion script kubectl untuk Bash dapat dibuat dengan perintah kubectl completion bash. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan auto complete dari kubectl.
Namun, completion script tersebut tergantung dengan bash-completion, yang artinya kamu harus menginstal program tersebut terlebih dahulu.
{{< warning>}}
Terdapat dua versi bash-completion, v1 dan v2. V1 untuk Bash 3.2 (default dari macOs), dan v2 untuk Bash 4.1+. Completion script kubectl tidak kompatibel dengan bash-completion v1 dan Bash 3.2. Dibutuhkan bash-completion v2 dan Bash 4.1+ agar completion script kubectl dapat bekerja dengan baik. Maka dari itu, kamu harus menginstal dan menggunakan Bash 4.1+ (panduan) untuk dapat menggunakan fitur auto complete dari kubectl. Ikuti panduan di bawah setelah kamu menginstal Bash 4.1+ (yang artinya Bash versi 4.1 atau lebih baru).
{{< /warning >}}
Pembaruan 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/memperbaruinya 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.
Instalasi bash-completion
{{< note >}}
Seperti yang sudah disebutkan, panduan di bawah berasumsi kamu menggunakan Bash 4.1+, yang berarti kamu akan menginstal bash-completion v2 (auto complete dari kubectl tidak kompatibel dengan Bash 3.2 dan bash-completion v1).
{{< /note >}}
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 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 auto complete kubectl
Sekarang kamu harus memastikan bahwa completion script untuk kubectl sudah dimasukkan sebagai sumber auto complete di semua sesi terminal. Kamu dapat melakukannya dengan beberapa cara:
-
Masukkan completion script sebagai sumber di berkas
~/.bashrc:echo 'source <(kubectl completion bash)' >>~/.bashrc -
Menambahkan completion script 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 auto complete dengan menjalankan perintah:echo 'alias k=kubectl' >>~/.bashrc echo 'complete -F __start_kubectl k' >>~/.bashrc -
Jika kamu menginstal
kubectldengan Homebrew (seperti yang sudah dijelaskan di atas), maka completion script untukkubectlsudah berada di/usr/local/etc/bash_completion.d/kubectl. Kamu tidak perlu melakukan apa-apa lagi.
{{< note >}}
bash-completion v2 yang diinstal dengan Homebrew meletakkan semua berkas nya di direktori BASH_COMPLETION_COMPAT_DIR, yang membuat dua cara terakhir dapat bekerja.
{{< /note >}}
Setelah memuat ulang terminal, auto complete dari kubectl seharusnya sudah dapat bekerja.
{{% /tab %}}
{{% tab name="Zsh" %}}
Completion script kubectl untuk Zsh dapat dibuat dengan perintah kubectl completion zsh. Masukkan skrip tersebut ke dalam terminal sebagai sumber untuk menyalakan auto complete dari kubectl.
Tambahkan baris berikut di berkas ~/.zshrc untuk menyalakan auto complete dari kubectl:
source <(kubectl completion zsh)
Jika kamu menggunakan alias untuk kubectl, kamu masih dapat menggunakan fitur auto complete dengan menjalankan perintah:
echo 'alias k=kubectl' >>~/.zshrc
echo 'complete -F __start_kubectl k' >>~/.zshrc
Setelah memuat ulang terminal, auto complete 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
{{% /tab %}} {{< /tabs >}}
{{% /capture %}}
{{% capture whatsnext %}}
- Instalasi Minikube
- Lihat panduan memulai untuk mencari tahu tentang pembuatan kluster.
- Pelajari cara untuk menjalankan dan mengekspos aplikasimu.
- Jika kamu membutuhkan akses ke kluster yang tidak kamu buat, lihat dokumen Sharing Cluster Access.
- Baca dokumen referensi kubectl {{% /capture %}}