For ACK Edge clusters running Kubernetes earlier than 1.26, edge-tunnel-server and edge-tunnel-agent are deployed by default to create an encrypted cloud-to-edge O&M tunnel so cloud components can reach edge nodes in private networks. This topic describes the tunnel components and how to extend edge monitoring to non-default ports. dan edge-tunnel-agent membuat saluran data terenkripsi untuk akses O&M ke node edge di jaringan pribadi.
Untuk kluster ACK Edge berbasis Kubernetes 1.26 atau lebih baru, Raven menggantikan komponen saluran data tersebut. Lihat Work with the cloud-edge communication component Raven.
Cara kerja
edge-tunnel-server berjalan sebagai Deployment pada node cloud, sedangkan edge-tunnel-agent berjalan sebagai DaemonSet pada setiap node edge.
Saat pembuatan kluster, ACK menyediakan instans Server Load Balancer (SLB) di depan edge-tunnel-server. Setiap edge-tunnel-agent melakukan koneksi keluar melalui instans SLB tersebut untuk membentuk saluran data terenkripsi melalui Internet.
Setelah saluran data aktif, permintaan dari kube-apiserver atau metrics-server ke port 10250 atau 10255 pada node edge akan diteruskan secara otomatis melalui edge-tunnel-server. Hal ini mencakup operasi O&M seperti kubectl logs dan kubectl exec, yang menargetkan kubelet pada port-port tersebut. Tidak diperlukan perubahan konfigurasi tambahan.
Jika instans SLB dihapus atau dihentikan, semua saluran data akan berhenti berfungsi. Saluran data juga dapat gagal jika koneksi antara node edge dan cloud terputus atau tidak stabil.
Prasyarat
Pastikan Anda telah memiliki:
-
Kluster ACK Edge yang menjalankan Kubernetes versi lebih lama dari 1.26
-
Setidaknya satu instans Elastic Compute Service (ECS) di cloud untuk menjalankan edge-tunnel-server
Pada versi 1.16.9-aliyunedge.1, deploy metrics-server pada node ECS yang sama dengan edge-tunnel-server. Pada versi 1.18.8-aliyunedge.1 atau lebih baru, keduanya dapat berjalan pada node yang terpisah.
Perluas pemantauan ke port non-standar
Secara default, saluran data hanya meneruskan lalu lintas pada port 10250 dan 10255. Untuk menggunakan port tambahan, konfigurasikan ConfigMap edge-tunnel-server-cfg di namespace kube-system.
Bidang konfigurasi dan protokol yang didukung berbeda tergantung versi kluster:
| Versi kluster | Protokol yang didukung | Bidang konfigurasi | Format nilai |
|---|---|---|---|
| 1.20.11-aliyunedge.1 | HTTP | http-proxy-ports |
port1, port2 |
| 1.20.11-aliyunedge.1 | HTTPS | https-proxy-ports |
port1, port2 |
| 1.20.11-aliyunedge.1 | localhost endpoints | localhost-proxy-ports |
port1, port2 (default: 10250, 10255, 10266, 10267) |
| 1.18.8-aliyunedge.1 | HTTP only | dnat-ports-pair |
port=10264 |
Konfigurasikan port tambahan pada 1.20.11-aliyunedge.1
Contoh ini mengaktifkan:
-
Port 9051 melalui HTTP
-
Port 9052 dan port 8080 melalui HTTPS
-
Akses ke endpoint localhost, termasuk
https://127.0.0.1:8080
Terapkan ConfigMap berikut:
cat <<EOF | kubectl apply -f -
apiVersion: v1
data:
http-proxy-ports: "9051"
https-proxy-ports: "9052, 8080"
localhost-proxy-ports: "10250, 10255, 10266, 10267, 8080"
kind: ConfigMap
metadata:
name: edge-tunnel-server-cfg
namespace: kube-system
EOF
Konfigurasikan port tambahan pada 1.18.8-aliyunedge.1
Pada versi 1.18.8-aliyunedge.1, hanya HTTP yang didukung untuk port non-standar. Gunakan bidang dnat-ports-pair dengan format <target-port>=10264.
Contoh ini mengaktifkan akses cloud ke port 9051 pada node edge:
Terapkan ConfigMap berikut:
cat <<EOF | kubectl apply -f -
apiVersion: v1
data:
dnat-ports-pair: '9051=10264'
kind: ConfigMap
metadata:
name: edge-tunnel-server-cfg
namespace: kube-system
EOF