如何修改 CoreDNS 配置

一、通过 CoreDNS 的 hosts 插件配置 KubeSphere 集群的 DNS 服务,使集群内部可通过 hostname 域名访问外部服务。

​ 1、登陆集群控制节点,执行命令 kubectl edit configmap coredns -n kube-system -o yaml,该命令可编辑 coredns 的配置文件,编辑 data 字段,如下, hosts 的内容为新增内容。

  1. data:
  2. Corefile: |
  3. .:53 {
  4. errors
  5. health
  6. hosts {
  7. 192.168.0.2 harbor.devops.kubesphere.local
  8. 192.168.0.2 gitlab.devops.kubesphere.local
  9. fallthrough
  10. }
  11. kubernetes cluster.local in-addr.arpa ip6.arpa {
  12. pods insecure
  13. upstream /etc/resolv.conf
  14. fallthrough in-addr.arpa ip6.arpa
  15. }
  16. prometheus :9153
  17. proxy . /etc/resolv.conf
  18. cache 30
  19. loop
  20. reload
  21. loadbalance
  22. }

说明:192.168.0.2 是 KubeSphere 集群的内任意节点IP,请根据实际情况填写。harbor.devops.kubesphere.localgitlab.devops.kubesphere.local 分别为 Harbor 和 GitLab 的域名。

如何修改 Jenkins 初始化配置

通过修改 Jenkins 初始化配置,使在执行构建任务的容器中配置—insecure-registry,使 Harbor 能正常推拉镜像。

1、以集群管理员账号 admin 登录 KubeSphere,先点击平台管理,然后进入企业空间。

workspace

2、选择 system-workspace,点击进入该企业空间

sapce

3、选择 项目管理,进入项目kubesphere-devops-system

namespace

4、点击配置中心下的 配置,然后找到名称为 jenkins-casc-config 的配置文件,点击进入。

configmap

5、进入配置后,点击 更多操作 下面的 编辑配置文件

editcm

6、该配置文件共有配置4个服务,在 data.jenkins.yam.jenkins.clouds.kubernetes.templates 下,name 分别为 basenodejsmavengo,分别修改其各个 namedocker-server 下的 args 参数,将原来的 args: "--insecure-registry harbor.devops.kubesphere:30280" 改为 args: "--insecure-registry harbor.devops.kubesphere.local:30280。以 go 为示例,修改完后的配置如下(其中标注*的为修改行):

  1. - name: "go"
  2. namespace: "kubesphere-devops-system"
  3. label: "go"
  4. nodeUsageMode: "EXCLUSIVE"
  5. idleMinutes: 0 # Do not reuse pod.
  6. containers:
  7. - name: "go"
  8. image: "kubesphere/builder-go:advanced-1.0.0"
  9. command: "cat"
  10. ttyEnabled: true
  11. envVars:
  12. - containerEnvVar:
  13. key: "DOCKER_HOST"
  14. value: "tcp://localhost:2375"
  15. - name: "jnlp"
  16. image: "jenkins/jnlp-slave:3.27-1"
  17. args: "${computer.jnlpmac} ${computer.name}"
  18. resourceRequestCpu: "100m"
  19. resourceRequestMemory: "32Mi"
  20. - name: "docker-server"
  21. image: "docker:18.06.1-ce-dind"
  22. ttyEnabled: true
  23. privileged: true
  24. * args: "--insecure-registry harbor.devops.kubesphere.local:30280"
  25. envVars:
  26. - containerEnvVar:
  27. key: "DOCKER_HOST"
  28. value: "tcp://localhost:2375"
  29. workspaceVolume:
  30. emptyDirWorkspaceVolume:
  31. memory: false

修改更新后,需要登陆 Jenkins 重新加载,具体步骤请参考 登陆 Jenkins 重新加载