本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本项目处于私有测试阶段。如对本产品感兴趣,请联系TeamCity 支持团队。
kubectl apply -f [***]Operator通过Helm Charts安装。目前helm chart需根据请求提供。
helm upgrade --install teamcity-operator -n teamcity-operator --create-namespace ./teamcity-operator-x.x.x.tgz
用户可通过多种方式使用该operator,以下是详细的使用示例列表。
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server mainNode: name: main-node spec: requests: cpu: "400m" memory: "2500Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
apiVersion: v1 data: connectionProperties.password: DB_PASSWORD connectionProperties.user: DB_USER connectionUrl: DB_CONNECTION_STRING # 格式 jdbc:mysql://DB_HOST:DB_PORT/SCHEMA_NAME kind: Secret metadata: name: database-properties --- apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-with-database namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server databaseSecret: secret: database-properties mainNode: name: main-node spec: env: AWS_DEFAULT_REGION: "eu-west-1" requests: cpu: "400m" memory: "1000Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-with-startup-properties namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server startupPropertiesConfig: teamcity.startup.maintenance: "false" teamcity.firstStart.setupAdmin.enabled: "false" mainNode: name: main-node spec: requests: cpu: "400m" memory: "1000Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-sample-with-ingress namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server mainNode: name: main-node spec: requests: cpu: "400m" memory: "1000Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi serviceList: - name: main-node spec: selector: app.kubernetes.io/name: teamcity-sample-with-ingress app.kubernetes.io/component: teamcity-server app.kubernetes.io/part-of: teamcity ports: - protocol: TCP port: 8111 targetPort: 8111 clusterIP: None ingressList: - name: teamcity-sample-with-ingress annotations: nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/server-snippets: | location / { proxy_http_version 1.1; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; # WebSocket支持 proxy_set_header Connection "upgrade"; # WebSocket支持 } spec: ingressClassName: nginx rules: - host: teamcity.mycompany.com http: paths: - backend: service: name: main-node port: number: 8111 pathType: ImplementationSpecific
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-with-service-account namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server serviceAccount: name: teamcity-service-account annotations: eks.amazonaws.com/role-arn: AWS_ROLE mainNode: name: node spec: requests: cpu: "400m" memory: "1000Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-init-containers namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server mainNode: name: main-node spec: initContainers: - name: init-myservice image: busybox:1.28 command: [ 'sh', '-c', "echo Hello" ] requests: cpu: "400m" memory: "1000Mi" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-sample-with-secondary-node-read-only namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi mainNode: name: main-node spec: requests: cpu: "1000m" memory: "2500Mi" secondaryNodes: - name: secondary-node spec: requests: cpu: "1000m" memory: "2500Mi"
apiVersion: jetbrains.com/v1beta1 kind: TeamCity metadata: name: teamcity-sample-with-secondary-node namespace: default finalizers: - "teamcity.jetbrains.com/finalizer" spec: image: jetbrains/teamcity-server startupPropertiesConfig: teamcity.startup.maintenance: "false" teamcity.firstStart.setupAdmin.enabled: "false" dataDirVolumeClaim: name: teamcity-data-dir volumeMount: name: teamcity-data-dir mountPath: /storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi mainNode: name: main-node annotations: cluster-autoscaler.kubernetes.io/safe-to-evict: "true" spec: requests: cpu: "1000m" memory: "2500Mi" responsibilities: [ "MAIN_NODE", "CAN_PROCESS_BUILD_MESSAGES", "CAN_CHECK_FOR_CHANGES", "CAN_PROCESS_BUILD_TRIGGERS", "CAN_PROCESS_USER_DATA_MODIFICATION_REQUESTS"] secondaryNodes: - name: secondary-node-0 annotations: cluster-autoscaler.kubernetes.io/safe-to-evict: "false" spec: requests: cpu: "1000m" memory: "2500Mi" responsibilities: ["CAN_PROCESS_BUILD_MESSAGES", "CAN_CHECK_FOR_CHANGES", "CAN_PROCESS_BUILD_TRIGGERS", "CAN_PROCESS_USER_DATA_MODIFICATION_REQUESTS"] - name: secondary-node-1 annotations: cluster-autoscaler.kubernetes.io/safe-to-evict: "false" spec: requests: cpu: "1000m" memory: "2500Mi" responsibilities: [ "CAN_PROCESS_BUILD_MESSAGES", "CAN_CHECK_FOR_CHANGES", "CAN_PROCESS_BUILD_TRIGGERS", "CAN_PROCESS_USER_DATA_MODIFICATION_REQUESTS" ]
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429