### 增加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)
- 空白目录
- k8s
- k8s介绍和架构图
- 硬件环境和准备工作
- bind9-DNS服务部署
- 私有仓库harbor部署
- k8s-etcd部署
- api-server部署
- 配置apiserver L4代理
- controller-manager部署
- kube-scheduler部署
- node节点kubelet 部署
- node节点kube-proxy部署
- cfss-certinfo使用
- k8s网络-Flannel部署
- k8s网络优化
- CoreDNS部署
- k8s服务暴露之ingress
- 常用命令记录
- k8s-部署dashboard服务
- K8S平滑升级
- k8s服务交付
- k8s交付dubbo服务
- 服务架构图
- zookeeper服务部署
- Jenkins服务+共享存储nfs部署
- 安装配置maven和java运行时环境的底包镜像
- 使用blue ocean流水线构建镜像
- K8S生态--交付prometheus监控
- 介绍
- 部署4个exporter
- 部署prometheus server
- 部署grafana
- alert告警部署
- 日志收集ELK
- 制作Tomcat镜像
- 部署ElasticSearch
- 部署kafka和kafka-manager
- filebeat镜像制作
- 部署logstash
- 部署Kibana
- Apollo交付到Kubernetes集群
- Apollo简介
- 交付apollo-configservice
- 交付apollo-adminservice
- 交付apollo-portal
- k8s-CICD
- 集群整体架构
- 集群安装
- harbor仓库和nfs部署
- nginx-ingress-controller服务部署
- gitlab服务部署
- gitlab服务优化
- gitlab-runner部署
- dind服务部署
- CICD自动化服务devops演示
- k8s上服务日志收集