Dalam skenario cloud hybrid, jika Anda perlu menarik gambar dari repositori di jaringan internal atau wadah memerlukan akses ke nama domain internal, Anda harus mengonfigurasi server Sistem Nama Domain (DNS) untuk pod berbasis Elastic Container Instance (ECI) agar menggunakan server DNS internal. Dengan konfigurasi ini, Anda dapat menyelesaikan nama domain internal melalui server DNS internal. Topik ini menjelaskan cara mengonfigurasi server DNS kustom untuk pod berbasis Elastic Container Instance.
Informasi latar belakang
Dalam skenario cloud hybrid, jika kluster Kubernetes mencakup node lokal dan repositori gambar berada pada node tersebut, pod mungkin tidak dapat mengakses lingkungan jaringan internal lokal karena server DNS kluster tidak dapat menyelesaikan nama domain internal. Elastic Container Instance menyediakan fitur server DNS kustom. Anda dapat mengonfigurasi server DNS kustom untuk pod berbasis Elastic Container Instance guna menyelesaikan nama domain internal, sehingga memungkinkan akses ke jaringan internal lokal.
Deskripsi konfigurasi
Anda dapat menambahkan anotasi k8s.aliyun.com/eci-custom-dnsconfig ke metadata dalam file konfigurasi pod untuk menentukan penggunaan server DNS kustom. Nilai anotasi ini memiliki format {\"nameservers\":\"20.1.xx.xx,20.1.xx.xx\",\"searches\":\"xx.com,xx.eee\",\"options\":\"ndots:2,edns0\"}. Tabel berikut menjelaskan bidang yang termasuk dalam file konfigurasi.
Bidang | Deskripsi |
nameservers | Alamat IP server DNS. Maksimal dua alamat IP didukung. Alamat IP tambahan secara otomatis diabaikan. Selain itu, sistem secara otomatis menambahkan alamat IP server DNS Alibaba Cloud ke akhir nilai bidang untuk memastikan sistem bekerja seperti yang diharapkan. |
searches | Domain pencarian server DNS. Maksimal 32 domain pencarian diperbolehkan. Jika Anda memasukkan nama domain tidak lengkap untuk resolusi, sistem mencoba menggunakan akhiran nama domain dalam nilai bidang searches untuk melengkapi nama domain dan kemudian menyelesaikan nama domain tersebut. |
options | Opsi resolusi DNS. Nilainya bisa berupa beberapa pasangan kunci-nilai. Opsi umum meliputi:
|
Contoh konfigurasi:
Anda dapat mengonfigurasi bidang dnsPolicy untuk pod sesuai dengan kebutuhan bisnis Anda. Kami merekomendasikan untuk mengatur bidang dnsPolicy ke Default, yang menunjukkan bahwa pod akan mewarisi konfigurasi DNS dari node tempat pod berada.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
labels:
app: test
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-custom-dnsconfig: "{\"nameservers\":\"20.1.xx.xx,20.1.xx.xx\",\"searches\":\"xx.com,xx.eee\",\"options\":\"ndots:2,edns0\"}"
spec:
dnsPolicy: Default
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
ports:
- containerPort: 80Referensi
Untuk informasi lebih lanjut tentang konfigurasi DNS, lihat Ikhtisar DNS.