• 如何修改 CoreDNS 配置
  • 如何修改 Jenkins 初始化配置

    如何修改 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 重新加载。