Kubernetes World

  • Login
Trending now

Industry use cases of Azure Kubernetes Service(AKS). | by Avijit das | Mar, 2021 | ...

Kubernetes APIs Graceful Shutdown | by Patrick Almeida | Méliuz Engenharia | Mar, 2021 | ...

Meet Brigade 2. For some time now, the Brigade… | by Kent Rancourt | Mar, ...

Website updates without Downtime. Leveraging Kubernetes rollouts | by Romain Rigaux | Data Querying | ...

The future of DevOps: 21 predictions for 2021 | by Joel | Mar, 2021 | ...

AWS — Deploying React App With .NET Web API on EKS | by Bhargav Bachina ...

Why Bosch choose the cloud way?. Kubernetes is an open-source container… | by Arjun Chauhan ...

Deploying WordPress On Kubernetes With Amazon RDS Using Terraform | by Abhishek Chouhan | Mar, ...

Deploy a Web Application With Let’s Encrypt and Kubernetes Using Terraform on GCP (Part 1) ...

Azure Kubernetes Service. Over the last few years, people have… | by Chetna Manku | ...

Home » Technology » Kubernetes CoreDNS 解析 Domain. 筆者最近在部署 Kubernetes 過程中,好奇每個元件究竟安裝與不安裝對… | by Ci Jie Li | Feb, 2021 | Medium

Kubernetes CoreDNS 解析 Domain. 筆者最近在部署 Kubernetes 過程中,好奇每個元件究竟安裝與不安裝對… | by Ci Jie Li | Feb, 2021 | Medium medium.com

1
admin 2 weeks ago in Technology

筆者最近在部署 Kubernetes 過程中,好奇每個元件究竟安裝與不安裝對 Kubernetes 造成什麼影響?CoreDNS 主要的功能之一是當 Pods 做套件更新或安裝時,可以提供 DNS Forward 功能,將請求轉發至外部進行 Domain 解析,並從正確的位址下載套件進行安裝。 本篇就聚焦在 CoreDNS 將 Pods 的請求轉發至外部 DNS Server 進行解析的運作流程。 首先先檢視當前 Kubernetes 上運行的 Pods。 在尚未安裝 CoreDNS 情境時,您會發現在任一個 Pod 內無法向外部資源進行存取。 這邊筆者先建立一個 Nginx 的 Deployment,並且進去其中一個 Pod 執行 apt update 指令,這時候會發現如下的情況: 問題在於無法解析 Ubuntu 套件 Domain,因此無法正常更新套件與安裝套件。 回想一下,不管在安裝 Master Node 或 Worker Node 時,都會啟動 Kubelet,並且帶入 –config=/var/lib/kubelet/config.yml 參數。 在 /var/lib/kubelet/config.yml 檔案內會需要配置 clusterDNS 。這就是運行在這個節點上的 Pods 預設的 DNS Server。 如上述情境,若在這個 Worker Node 上運行一個 Pod,預設 DNS Server 為 10.96.0.10 。 實際我們進入 nginx-deployment-66b6c48dd5-kwmkx Pod,並且檢視 /etc/resole.conf 檔案。 由上述結果可以看出 Pod 會採用 10.96.0.10 作為預設 DNS Server。 接著我們就必須利用 CoreDNS 啟動時,使用 10.96.0.10 作為 ClusterIP,將所有 Pods 請求 Forward 到外部 8.8.8.8 進行 Domain 解析。 因此在啟動 CoreDNS 時需要在 ConfigMap 中加入 forward . 8.8.8.8:53 配置,並且在 Service 將 ClusterIP 設定為 10.96.0.10 。 配置完成後建立 CoreDNS 服務。 啟動完成後,檢視當前所有 Serivce 狀態。 由上述可以看出 CoreDNS 已經被啟動,並且 ClusterIP 為 10.96.0.10 。 最後,我們在進入 nginx-deployment-66b6c48dd5-kwmkx Pod 再次進行套件更新。 由上述可以看出現在 Pod 已經可以至外部進行套件更新與安裝。 由下圖來解釋上述所做的行為,在 Nginx Pod 內下 apt update 指令時,請求根據 DNS Server 轉發至 CoreDNS Pod(10.96.0.10),再由 CoreDNS Pod 將請求 Forward 到外部 DNS Server(8.8.8.8) 進行解析。因此就可以在 Pod 內正常進行套件的更新與安裝等行為。 若針對本篇教學有任何疑問或有敘述錯誤的地方,歡迎在底下留言討論唷~ Originally published at http://github.com.

  • Facebook
  • Twitter
  • Pinterest
  • Google+
Report Story

Related Stories

  1. Industry use cases of Azure Kubernetes Service(AKS). | by Avijit...
  2. Kubernetes APIs Graceful Shutdown | by Patrick Almeida | Méliuz...
  3. Meet Brigade 2. For some time now, the Brigade… |...
  4. Website updates without Downtime. Leveraging Kubernetes rollouts | by Romain...
  5. The future of DevOps: 21 predictions for 2021 | by...
  6. AWS — Deploying React App With .NET Web API on...
  7. Why Bosch choose the cloud way?. Kubernetes is an open-source...
  8. Deploying WordPress On Kubernetes With Amazon RDS Using Terraform |...
Tags : k8skubernetes

Get weekly Kubernetes news directly to your inbox

Loading
Copyright © 2021 Kubernetes World.
Login Register

Login

Lost Password
Oops! Sorry, registration is disabled.

Kubernetes CoreDNS 解析 Domain. 筆者最近在部署 Kubernetes 過程中,好奇每個元件究竟安裝與不安裝對… | by Ci Jie Li | Feb, 2021 | Medium

admin 2 weeks ago in

筆者最近在部署 Kubernetes 過程中,好奇每個元件究竟安裝與不安裝對 Kubernetes 造成什麼影響?CoreDNS 主要的功能之一是當 Pods 做套件更新或安裝時,可以提供 DNS Forward 功能,將請求轉發至外部進行 Domain 解析,並從正確的位址下載套件進行安裝。 本篇就聚焦在 CoreDNS 將 Pods 的請求轉發至外部 DNS Server 進行解析的運作流程。 首先先檢視當前 Kubernetes 上運行的 Pods。 在尚未安裝 CoreDNS 情境時,您會發現在任一個 Pod 內無法向外部資源進行存取。 這邊筆者先建立一個 Nginx 的 Deployment,並且進去其中一個 Pod 執行 apt update 指令,這時候會發現如下的情況: 問題在於無法解析 Ubuntu 套件 Domain,因此無法正常更新套件與安裝套件。 回想一下,不管在安裝 Master Node 或 Worker Node 時,都會啟動 Kubelet,並且帶入 –config=/var/lib/kubelet/config.yml 參數。 在 /var/lib/kubelet/config.yml 檔案內會需要配置 clusterDNS 。這就是運行在這個節點上的 Pods 預設的 DNS Server。 如上述情境,若在這個 Worker Node 上運行一個 Pod,預設 DNS Server 為 10.96.0.10 。 實際我們進入 nginx-deployment-66b6c48dd5-kwmkx Pod,並且檢視 /etc/resole.conf 檔案。 由上述結果可以看出 Pod 會採用 10.96.0.10 作為預設 DNS Server。 接著我們就必須利用 CoreDNS 啟動時,使用 10.96.0.10 作為 ClusterIP,將所有 Pods 請求 Forward 到外部 8.8.8.8 進行 Domain 解析。 因此在啟動 CoreDNS 時需要在 ConfigMap 中加入 forward . 8.8.8.8:53 配置,並且在 Service 將 ClusterIP 設定為 10.96.0.10 。 配置完成後建立 CoreDNS 服務。 啟動完成後,檢視當前所有 Serivce 狀態。 由上述可以看出 CoreDNS 已經被啟動,並且 ClusterIP 為 10.96.0.10 。 最後,我們在進入 nginx-deployment-66b6c48dd5-kwmkx Pod 再次進行套件更新。 由上述可以看出現在 Pod 已經可以至外部進行套件更新與安裝。 由下圖來解釋上述所做的行為,在 Nginx Pod 內下 apt update 指令時,請求根據 DNS Server 轉發至 CoreDNS Pod(10.96.0.10),再由 CoreDNS Pod 將請求 Forward 到外部 DNS Server(8.8.8.8) 進行解析。因此就可以在 Pod 內正常進行套件的更新與安裝等行為。 若針對本篇教學有任何疑問或有敘述錯誤的地方,歡迎在底下留言討論唷~ Originally published at http://github.com.

  • Facebook
  • Twitter
  • Pinterest
  • Google+
Report Story

Related Stories

  1. Industry use cases of Azure Kubernetes Service(AKS). | by Avijit...
  2. Kubernetes APIs Graceful Shutdown | by Patrick Almeida | Méliuz...
  3. Meet Brigade 2. For some time now, the Brigade… |...
  4. Website updates without Downtime. Leveraging Kubernetes rollouts | by Romain...
  5. The future of DevOps: 21 predictions for 2021 | by...
  6. AWS — Deploying React App With .NET Web API on...
  7. Why Bosch choose the cloud way?. Kubernetes is an open-source...
  8. Deploying WordPress On Kubernetes With Amazon RDS Using Terraform |...