企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 增加gitlab在k8s的内部解析 1. 优化gitlab网络通信,对于runner要调用gitlab服务来说,直接走内部地址速度更快 2. 如果是在用阿里云的同学,采用在k8s上部署gitlab的话,那么k8s内部服务比如runner是不能通过同集群前面的公网入口SLB来请求访问的,这里阿里云自身网络架构原因,这个时候我们只需要做如下配置即可完美解决 增加coredns内部解析主要有三步 ``` 1、修改coredns的edit 配置文件: kubectl -n kube-system edit configmaps coredns 2、找到对应服务 kubectl -n kube-system get pod | grep coredns coredns-5787695b7f-j2wx5 1/1 Running 0 21h 3、删除服务重启 kubectl -n kube-system delete pod coredns-5787695b7f-j2wx5 下面是修改的配置文件: apiVersion: v1 data: Corefile: |   .:53 {       errors       health       ready #-----------------------------------------------       log       rewrite stop {         name regex git.boge.com gitlab.gitlab-ver130806.svc.cluster.local         answer name gitlab.gitlab-ver130806.svc.cluster.local git.boge.com       } #-----------------------------------------------       kubernetes cluster.local in-addr.arpa ip6.arpa {         pods verified         fallthrough in-addr.arpa ip6.arpa       }       autopath @kubernetes       prometheus :9153       forward . /etc/resolv.conf       cache 30       loop       reload       loadbalance   } kind: ConfigMap metadata: name: coredns namespace: kube-system ``` ### 增加ssh端口转发 因为git拉代码是访问服务的22端口 ``` # 修改服务器端口为非22端口 vim /etc/ssh/sshd_config Port 10022 # 重启服务 systemctl restart sshd # 查看git的22端口为 [root@node-111 docker]# kubectl -n gitlab-ver130806 get svc | grep git gitlab NodePort 10.68.31.18 <none> 80:31945/TCP,22:30324/TCP 21h # 注意配置此转发前,需要将对应NODE的本身ssh连接端口作一下修改,以防后面登陆不了该机器 iptables -t nat -A PREROUTING -d 10.4.7.115 -p tcp --dport 22 -j DNAT --to-destination 10.4.7.115:30324 #↑ 删除上面创建的这一条规则,将-A换成-D即可 iptables -t nat -nvL PREROUTING ``` 准备测试 1、新增hosts内部解析 cat /etc/hosts 10.4.7.115 git.boge.com 2、配置gitlab的ssh key ![](https://img.kancloud.cn/08/75/0875d1c0c3e68a72f2b713d183d8773e_1645x799.png) 3、创建一个仓库看是否可以拉取代码: ![](https://img.kancloud.cn/4a/5b/4a5b4f9b2258b80348fa410cb6ea6072_1003x457.png) ![](https://img.kancloud.cn/42/0d/420d4214d3dcb0666eda3070c833f563_1276x387.png)