### 增加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

3、創建一個倉庫看是否可以拉取代碼:


- 空白目錄
- 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上服務日志收集