GKE-ийн хувийн зангилаа нь kubectl аль API ашиглахыг шийддэггүй
Зангилаа руу SSH, API дуудлага, лог дамжуулалт өөр өөр замаар явдаг. Хувийн зангилааны хаягаас юу ч дүгнэхээс өмнө kubeconfig дахь серверийн URL-г уншина уу.
Зангилаанууд хувийн, VPN тэдэнд хүрдэг, гэсэн хэдий ч kubectl кластертай харилцаж чадахгүй байна. Энэ хоёр баримт хоорондоо холбоогүй. kubectl-ийн ашигладаг хаяг нь итгэмжлэл татах үед kubeconfig-д хадгалагдсан серверийн URL-аас гардаг бөгөөд таны нэмсэн ямар ч маршрут үүнийг өөрчлөхгүй. Энэ хооронд зангилаанууд бол kubectl-ийн хүрэхийг оролдож буй зүйл огт биш юм.
Таван шалгалт, хамгийн чухал ганц утгаас эхлэн.
1-р шалгалт: kubeconfig дахь серверийн URL-г уншина уу
Итгэмжлэлийг асгахгүйгээр төгсгөлийн цэгийг хэвлэнэ үү: kubectl config view --minify -o jsonpath="{.clusters[0].cluster.server}". Тэр нэг мөр нь клиент IP хаяг, DNS нэр эсвэл таны санаанд ороогүй гадаад хаяг руу чиглэж байгаа эсэхийг хэлнэ. Энэ мөрдөн байцаалтын бусад бүхэн түүнээс үүдэлтэй.
Хэрэв URL нь таны тохируулсан гэж бодсон төгсгөлийн цэг биш бол үлдсэн оношилгоо нь анхаарал сарниулах зүйл юм.
2-р шалгалт: URL-г төгсгөлийн цэгийн төрөлтэй тааруулна уу
Одоогийн GKE нь хяналтын хавтгайд IP болон DNS-д суурилсан хандалтыг хоёуланг нь дэмждэг бөгөөд таны татсан итгэмжлэл тэдгээрийн нэгийг сонгодог. gcloud container clusters get-credentials NAME --location REGION --internal-ip дотоод IP-ийн төгсгөлийн цэгийг бичдэг бол --dns-endpoint DNS-д суурилсан хандалтыг сонгодог. Аль ч флаг сүлжээний зам үүсгэдэггүй нь татах үйлдэл холболтыг засна гэж хүлээж буй хүмүүсийг гайхшруулдаг. Татах үйлдлийг санаатайгаар давтаж, дараа нь URL-г дахин уншина уу.
URL-г дахин уншихгүйгээр флагуудыг солих нь зөөврийн компьютер хоёр кластерын итгэмжлэл, нэг будлиантай алдаатай үлдэх арга юм.
Зөвшөөрөгдсөн сүлжээний бичлэг нь гадаад төгсгөлийн цэгт хэн хүрч болохыг тодорхойлдог бөгөөд дотоодод хамаарахгүй. Хувийн замыг туршихын тулд өргөжүүлэх нь оношилгоог бус, илрэлийг тань өөрчилдөг.
3-р шалгалт: тэр төгсгөлийн цэг хүртэлх замыг батал
Хэрэв URL нь дотоод IP бол клиент үнэхээр сууж буй сүлжээнээс маршрут, зөвшөөрөгдсөн эх үүсвэрийн хүрээ, кластерын бүс нутгийн эсвэл дэлхийн хандалтын тохиргоог шалгана уу. Хяналтын хавтгайн хүрээ болон зангилааны дэд сүлжээ нь нэг очих газар биш тул зангилаа хүртэл ажилладаг маршрут төгсгөлийн цэгийн талаар юу ч батлахгүй. DNS-д суурилсан хандалтын хувьд зам нь баримтжуулсан Private Google Access зохицуулалт бүхий Google API холболт бөгөөд ажилчдын дэд сүлжээ рүү чиглэсэн маршрут биш. kubectl-ийг буруутгахаас өмнө төгсгөлийн цэгийг энгийн TCP холболтоор туршина уу.
Тайм-аут бол замын асуудал. 403 бол бодлогын асуудал. Тэд нэг шийдэлтэй биш.
4-р шалгалт: логийн болон exec-ийг API дуудлагаас тусгаарла
Хэрэв энгийн API хүсэлтүүд амжилттай болж, kubectl logs эсвэл kubectl exec бүтэлгүйтвэл та төгсгөлийн цэгийн сонголтыг аль хэдийн өнгөрсөн байна. Тэдгээр үйлдэлд холбогдох Kubernetes зөвшөөрөл шаардлагатай бөгөөд тэдгээр нь хяналтын хавтгайгаас зангилаа руу чиглэсэн харилцаанаас хамаардаг, бүтэлгүйтэл нь тайм-аут бус Forbidden хариу байж болно. Зангилаа руу SSH хандалт нь огт өөр үйлчилгээг туршдаг бөгөөд тэдгээрийг тогтоодоггүй.
VPN тасалбарыг дахин нээхээс өмнө алдааны ангиллыг уншина уу, учир нь хоёр ангилал өөр өөр газар амьдардаг.
5-р шалгалт: дараагийн хүнд зориулж гурван ажиглалт үлдээ
Сонгосон API URL, нэг зөвшөөрөгдсөн API хүсэлт ажиллаж байгаа эсэх, яг аль дараагийн үйлдэл бүтэлгүйтэж байгааг алдааны тексттэй хамт бичнэ үү. Тэр гурван мөр нь төгсгөлийн цэгийн сонголтыг зангилааны хандалтаас тусгаарлаж, бүрэн сайн VPN зам нь тээж үзээгүй хүсэлтийн буруутгалыг хүлээхээс сэргийлнэ.
Дараагийн инженер туннель эвдэрсэн эсэхийг асуух болно. Таны тэмдэглэл үүнд аль хэдийн хариулсан байх ёстой.