docker和k8s-coredns內(nèi)部域名解析方式
問題
當我在k8s集群中訪問私有代碼服務的時候域名無法解析;
報錯如下:
Could not resolve host: git.XXX
在docker環(huán)境內(nèi)部,當使用CURL來訪問局域網(wǎng)內(nèi)的另外一臺服務器的時候會出現(xiàn)域名;
類似的錯誤如下:
cURL error 6: Could not resolve host
Couldnt resolve host。 The given remote host was not resolved
解決思路
1、針對docker
原因分析:
- Docker容器無法解析局域網(wǎng)內(nèi)的域名,就算本地主機的hosts配置了域名映射也是不行的
- Docker環(huán)境不同于wamp或者Xampp,對于局域網(wǎng)內(nèi)的域名解析,Docker需要到docker內(nèi)部配置hosts文件
解決步驟:
進入docker容器后,在docker文件中,配置域名解析;
- 1: docker exec -it my_web /bin/bash
- 2: vi /etc/hosts
- 3:添加域名解析規(guī)則
2、針對k8s
我們可以通過在 CoreDNS 中添加自定義域名解析來解決這個問題(如果你的域名是外網(wǎng)可以正常解析的就不會出現(xiàn)這個問題了):
kubectl edit cm coredns -n kube-system
通過上面命令修改增加host配置,修改后 Esc :wq! 保存退出
修改完成后,稍等片刻,CoreDNS 就會自動熱加載,我們就可以在集群內(nèi)訪問我們自定義的域名了
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Ubuntu24.04LTS在線安裝Docker引擎的詳細過程
本文介紹了在Ubuntu 24.04 LTS系統(tǒng)上安裝Docker引擎的步驟,包括卸載舊版本、設置Docker APT倉庫、安裝最新版或指定版本的Docker,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-11-11Docker安裝MySQL并使用Navicat連接的使用示例
在Docker里運行MySQL的方式還是很方便的,本文主要介紹了Docker安裝MySQL并使用Navicat連接的使用示例,具有一定的參考價值,感興趣的可以了解一下2023-10-10docker-compose集成Jenkins部署,打包,發(fā)布方式
在Docker環(huán)境中安裝配置Jenkins,需掛載JDK、Maven等至容器指定路徑,設置國內(nèi)鏡像提升下載速度,并添加插件與憑據(jù)完成環(huán)境配置2024-10-10Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目
這篇文章主要介紹了Gitlab-runner+Docker自動部署SpringBoot項目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進行注冊綁定,需要的朋友可以參考下2022-04-04