diff --git a/docs/zh/_menu.md b/docs/zh/_menu.md index 2198d180da5e6f749c3225f6904b3894bb7be406..d605c94d9aab85c3295c5960463d2579ca23bf65 100644 --- a/docs/zh/_menu.md +++ b/docs/zh/_menu.md @@ -2,4 +2,5 @@ label: '文档中心' children: - reference: './Server/_menu.md' + - reference: './Virtulizationr/_menu.md' --- diff --git "a/docs/zh/docs/ClusterDeployment/figures/1.\346\237\245\347\234\213\351\234\200\350\246\201\351\225\234\345\203\217.png" "b/docs/zh/docs/ClusterDeployment/figures/1.\346\237\245\347\234\213\351\234\200\350\246\201\351\225\234\345\203\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..74cdae5726cec83d5d74b0b8bd01694fd388e342 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/1.\346\237\245\347\234\213\351\234\200\350\246\201\351\225\234\345\203\217.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/10.\350\207\252\345\256\232\344\271\211\351\241\271\347\233\256\345\220\215\347\247\260.jpg" "b/docs/zh/docs/ClusterDeployment/figures/10.\350\207\252\345\256\232\344\271\211\351\241\271\347\233\256\345\220\215\347\247\260.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..2062c62a6aae63e9700f6ceedf73daea0876eb44 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/10.\350\207\252\345\256\232\344\271\211\351\241\271\347\233\256\345\220\215\347\247\260.jpg" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/11.\350\256\276\347\275\256-cicd-runner.png" "b/docs/zh/docs/ClusterDeployment/figures/11.\350\256\276\347\275\256-cicd-runner.png" new file mode 100644 index 0000000000000000000000000000000000000000..838cf1b6625439e44c7d09162fb71edbe1eaf3d3 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/11.\350\256\276\347\275\256-cicd-runner.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/12.\350\256\260\344\270\213runner\345\234\260\345\235\200\344\270\216\344\273\244\347\211\214.jpg" "b/docs/zh/docs/ClusterDeployment/figures/12.\350\256\260\344\270\213runner\345\234\260\345\235\200\344\270\216\344\273\244\347\211\214.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..d3aaaf9ff4b66e4b536bc0afaa33c121bc6b53f6 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/12.\350\256\260\344\270\213runner\345\234\260\345\235\200\344\270\216\344\273\244\347\211\214.jpg" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/13.\346\237\245\347\234\213\350\257\201\344\271\246\351\205\215\347\275\256\346\226\207\344\273\266.png" "b/docs/zh/docs/ClusterDeployment/figures/13.\346\237\245\347\234\213\350\257\201\344\271\246\351\205\215\347\275\256\346\226\207\344\273\266.png" new file mode 100644 index 0000000000000000000000000000000000000000..8e9ce44af5a01670add1b8b2f5a7223a8bd0f35d Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/13.\346\237\245\347\234\213\350\257\201\344\271\246\351\205\215\347\275\256\346\226\207\344\273\266.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/14.\350\257\201\344\271\246\345\257\274\345\205\245\346\226\207\344\273\266.png" "b/docs/zh/docs/ClusterDeployment/figures/14.\350\257\201\344\271\246\345\257\274\345\205\245\346\226\207\344\273\266.png" new file mode 100644 index 0000000000000000000000000000000000000000..2a1fdb24d6f5c1c9d44cbce08276289adc5c876c Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/14.\350\257\201\344\271\246\345\257\274\345\205\245\346\226\207\344\273\266.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/15.\346\263\250\345\206\214gitlab-runner.jpg" "b/docs/zh/docs/ClusterDeployment/figures/15.\346\263\250\345\206\214gitlab-runner.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..896f13bdc6411b719283f30d9973973950f27a1c Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/15.\346\263\250\345\206\214gitlab-runner.jpg" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/16.web\347\253\257\345\267\262\345\212\240\345\205\245_LI.jpg" "b/docs/zh/docs/ClusterDeployment/figures/16.web\347\253\257\345\267\262\345\212\240\345\205\245_LI.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..fd8ae15ef7bce7120c7ba24b6240b33dbcf610b8 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/16.web\347\253\257\345\267\262\345\212\240\345\205\245_LI.jpg" differ diff --git a/docs/zh/docs/ClusterDeployment/figures/17.png b/docs/zh/docs/ClusterDeployment/figures/17.png new file mode 100644 index 0000000000000000000000000000000000000000..86f90a67185f532b362f4710ce8f7615cf40c9e1 Binary files /dev/null and b/docs/zh/docs/ClusterDeployment/figures/17.png differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/18.dns\351\205\215\347\275\256.png" "b/docs/zh/docs/ClusterDeployment/figures/18.dns\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..46b85396db34577b67679da759b6160ee707dec5 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/18.dns\351\205\215\347\275\256.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/19.CICD\347\225\214\351\235\242.png" "b/docs/zh/docs/ClusterDeployment/figures/19.CICD\347\225\214\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..f8193e005253eb4a6bd036ec8afdf6566f9fd6d2 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/19.CICD\347\225\214\351\235\242.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/2.calico\351\205\215\347\275\256.png" "b/docs/zh/docs/ClusterDeployment/figures/2.calico\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..d656f86d8ce5e110cf240a58e58b05b42aba8c15 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/2.calico\351\205\215\347\275\256.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/20.yaml\346\226\207\344\273\266.png" "b/docs/zh/docs/ClusterDeployment/figures/20.yaml\346\226\207\344\273\266.png" new file mode 100644 index 0000000000000000000000000000000000000000..9e7ec858abc2da72c7815a483f3011bf1225ec0f Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/20.yaml\346\226\207\344\273\266.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/21.\346\265\201\346\260\264\347\272\277\347\212\266\346\200\201.png" "b/docs/zh/docs/ClusterDeployment/figures/21.\346\265\201\346\260\264\347\272\277\347\212\266\346\200\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..fff7063f17fd203390302a6245a8ce4a16cf428e Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/21.\346\265\201\346\260\264\347\272\277\347\212\266\346\200\201.png" differ diff --git a/docs/zh/docs/ClusterDeployment/figures/3.png b/docs/zh/docs/ClusterDeployment/figures/3.png new file mode 100644 index 0000000000000000000000000000000000000000..7394b5f21821ce8d352c2f935c3ea3e490dc0519 Binary files /dev/null and b/docs/zh/docs/ClusterDeployment/figures/3.png differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/4.gitlab\347\275\221\351\241\265\345\205\245\345\217\243.jpg" "b/docs/zh/docs/ClusterDeployment/figures/4.gitlab\347\275\221\351\241\265\345\205\245\345\217\243.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..d3eb0d59d6dee5051470621a4969651668687789 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/4.gitlab\347\275\221\351\241\265\345\205\245\345\217\243.jpg" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/5.\346\237\245\350\257\242\345\257\206\347\240\201.jpg" "b/docs/zh/docs/ClusterDeployment/figures/5.\346\237\245\350\257\242\345\257\206\347\240\201.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..2e3902815108e9e91a07c382a4aae090b7cc6fe9 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/5.\346\237\245\350\257\242\345\257\206\347\240\201.jpg" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/6.\347\231\273\345\275\225\345\220\216\351\241\265\351\235\242.png" "b/docs/zh/docs/ClusterDeployment/figures/6.\347\231\273\345\275\225\345\220\216\351\241\265\351\235\242.png" new file mode 100644 index 0000000000000000000000000000000000000000..5f4d2c2a9a8bf337263028e859e49499155920b0 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/6.\347\231\273\345\275\225\345\220\216\351\241\265\351\235\242.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/7.\351\225\234\345\203\217.png" "b/docs/zh/docs/ClusterDeployment/figures/7.\351\225\234\345\203\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..26c811ae616d2fe86e7b8b75c78ef88aff83616b Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/7.\351\225\234\345\203\217.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/8.\346\226\260\345\273\272\351\241\271\347\233\256.png" "b/docs/zh/docs/ClusterDeployment/figures/8.\346\226\260\345\273\272\351\241\271\347\233\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..0c56662e6bdedcc78dea32b6e2afada466193096 Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/8.\346\226\260\345\273\272\351\241\271\347\233\256.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/figures/9.\345\210\233\345\273\272\347\251\272\347\231\275\351\241\271\347\233\256.png" "b/docs/zh/docs/ClusterDeployment/figures/9.\345\210\233\345\273\272\347\251\272\347\231\275\351\241\271\347\233\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..117da11ee289d88b51539e027606cc9da526936a Binary files /dev/null and "b/docs/zh/docs/ClusterDeployment/figures/9.\345\210\233\345\273\272\347\251\272\347\231\275\351\241\271\347\233\256.png" differ diff --git "a/docs/zh/docs/ClusterDeployment/gitlab-runner\351\203\250\347\275\262.md" "b/docs/zh/docs/ClusterDeployment/gitlab-runner\351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..8aec45981ea0d3235431407603918ff579746c0e --- /dev/null +++ "b/docs/zh/docs/ClusterDeployment/gitlab-runner\351\203\250\347\275\262.md" @@ -0,0 +1,193 @@ +# gitlab runner部署及测试 + +## 镜像/软件信息 +安装过程中需要用到的镜像名称如下表,版本号为示例安装时用到的版本,仅供参考。 + +| 镜像 | 版本 | +|------------------------------------|----------| +| gitlab/gitlab-runner | alpine-v14.4.0 | +| gitlab/gitlab-runner-helper | x86_64-54944146 | + +> 如果在无外网环境中搭建,可以从下方链接提前下载对应的镜像。 + 镜像下载地址:dockerhub官网 https://hub.docker.com + +## 使用gitlab-runner.yaml启动runner容器 + +配置gitlab-runner.yaml文件,修改文件中的镜像名,以下为yaml文件的示例参考,请根据实际搭建进行修改。 +``` +vim gitlab-runner.yaml +``` + +``` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gitlab-runner + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + name: gitlab-runner + template: + metadata: + labels: + name: gitlab-runner + spec: + containers: + - args: + - run + image: gitlab/gitlab-runner:alpine-v14.4.0 + imagePullPolicy: IfNotPresent + name: gitlab-runner + volumeMounts: + - mountPath: /etc/gitlab-runner + name: config + readOnly: false + - mountPath: /etc/ssl/certs + name: cacerts + readOnly: true + restartPolicy: Always + volumes: + - hostPath: + path: /etc/gitlab-runner + name: config + - hostPath: + path: /etc/ssl/key + name: cacerts + +``` + +启动容器: +``` +# kubectl apply -f gitlab-runner.yaml +# kubectl get pod -A -o wide +``` +![镜像](figures/7.%E9%95%9C%E5%83%8F.png) + +## 登录gitlab容器网页-用户证书认证 + +1. 新建项目。 + + ![新建项目](figures/8.%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE.png) + +2. 创建空白项目。 + + ![创建空白项目](figures/9.%E5%88%9B%E5%BB%BA%E7%A9%BA%E7%99%BD%E9%A1%B9%E7%9B%AE.png) + +3. 自定义项目名称。 + + ![自定义项目名称](figures/10.%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0.jpg) + +4. 设置--CI/CD--Runner--展开。 + + ![设置-cicd-runner](figures/11.%E8%AE%BE%E7%BD%AE-cicd-runner.png) + +5. 记录注册Runner的地址和令牌。 + + ![记下runner地址与令牌](figures/12.%E8%AE%B0%E4%B8%8Brunner%E5%9C%B0%E5%9D%80%E4%B8%8E%E4%BB%A4%E7%89%8C.jpg) + +6. 导入证书文件。 + + 在master节点上查看并生成证书文件,共三个文件admin.crt、admin.key、ca.crt。 + + - 查看证书信息 + + ``` + # cat /etc/kubernetes/admin.conf + ``` + + ![查看证书配置文件](figures/13.%E6%9F%A5%E7%9C%8B%E8%AF%81%E4%B9%A6%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png) + + - 加密生成admin.crt + + ``` + # echo “${client-certificate-data}” | base64 -d > admin.crt + ``` + + - 加密生成admin.key + + ``` + # echo “${client-key-data}” | base64 -d > admin.key + ``` + + - 在manager节点上获取ca的证书 + + ``` + # cp /etc/kubernetes/pki/ca.crt ./ + ``` + +7. 在runner运行的节点处将三个证书文件导入gitlab-runner容器。 + + >**说明** :导入容器需查看gitlab-runner运行在哪个节点上,将三个证书文件拷贝至该节点,然后使用isula cp命令导入。 + + ``` + # isula cp admin.crt [容器id]:存放位置 + # isula cp admin.key [容器id]:存放位置 + # isula cp ca.crt [容器id]:存放位置 + ``` + + 注:isula cp 命令只能一次拷贝一个文件 + + ![证书导入文件](figures/14.%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5%E6%96%87%E4%BB%B6.png) + + +## 注册gitlab-runner + +进入到runner的容器内进行注册;目前采用交互式注册,注册信息在gitlab上获得,当前配置的 runner服务于项目组,此信息的界面在gitlab-\>项目组(group)-\>设置-\>CI/CD-\>runner中查看。 + +![注册gitlab-runner](figures/15.%E6%B3%A8%E5%86%8Cgitlab-runner.jpg) + +![web端已加入](figures/16.web%E7%AB%AF%E5%B7%B2%E5%8A%A0%E5%85%A5_LI.jpg) + +将准备好的gitlab-runner-helper镜像提前上传至私有镜像仓,进入gitlab-runner容器中,修改配置文件。 + + +``` +# cd /etc/gitlab-runner +# mkdir kubessl +# cp /home/admin.crt /etc/gitlab-runner/kubessl +# cp /home/ca.crt /etc/gitlab-runner/kubessl +# cp /home/admin.key /etc/gitlab-runner/kubessl +# vim /etc/gitlab-runner/config.toml +``` + +![](figures/17.png) + + +## 在manager节点进行如下操作添加gitlab容器的dns记录 + +1. 查看gitlab容器的ip地址。 + + ``` + # kubectl get pods –Aowide + ``` + +2. 添加gitlabip地址到k8s dns配置文件。 + + ``` + # kubectl edit configmaps coredns -n kube-system + ``` +![dns](figures/18.dns%E9%85%8D%E7%BD%AE.png) + +3. 重启coredns服务。 + + ``` + # kubectl scale deployment coredns -n kube-system --replicas=0 + # kubectl scale deployment coredns -n kube-system --replicas=2 + ``` + +## gitlab运行测试 +返回gitlab的web界面,选择CI/CD--编辑器--创建CI/CD流水线。 + +![CICD界面](figures/19.CICD%E7%95%8C%E9%9D%A2.png) +- 编译yaml文件如下: + +![yaml文件](figures/20.yaml%E6%96%87%E4%BB%B6.png) + +- 流水线-查看状态。 + +![流水线状态](figures/21.%E6%B5%81%E6%B0%B4%E7%BA%BF%E7%8A%B6%E6%80%81.png) + + + diff --git "a/docs/zh/docs/ClusterDeployment/gitlab\351\203\250\347\275\262.md" "b/docs/zh/docs/ClusterDeployment/gitlab\351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..b744dfee581b928f2ffe753a0438f23912f78998 --- /dev/null +++ "b/docs/zh/docs/ClusterDeployment/gitlab\351\203\250\347\275\262.md" @@ -0,0 +1,300 @@ +# gitlab部署 + +## 文档说明 +gitlab部署 是场景一(基于gitlab-ci从“0”开始构建欧拉原生开发CICD部署)所需步骤,场景二(欧拉原生开发执行机集群被gitlab-ci纳管)可跳过此步骤进入gitlab-runner部署。 + +## 准备服务器 +需准备1台openEuler机器,建议在openEuler-22.03及以上版本运行。 + +## 启动gitlab + +将需要的yaml文件拷贝至/home目录,并启动对应的pod。 +> **说明**:gitlab相关的yaml文件可从官网获得。 + +以下为yaml文件的示例参考,请根据实际情况进行修改。 + +gitlab-redis.yaml: +``` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis + namespace: default + labels: + name: redis +spec: + selector: + matchLabels: + name: redis + template: + metadata: + name: redis + labels: + name: redis + spec: + containers: + - name: redis + image: 10.35.111.11:5000/redis:latest + imagePullPolicy: IfNotPresent + ports: + - name: redis + containerPort: 6379 + volumeMounts: + - mountPath: /var/lib/redis + name: data + livenessProbe: + exec: + command: + - redis-cli + - ping + initialDelaySeconds: 30 + timeoutSeconds: 5 + readinessProbe: + exec: + command: + - redis-cli + - ping + initialDelaySeconds: 5 + timeoutSeconds: 1 + volumes: + - name: data + emptyDir: {} + +--- +apiVersion: v1 +kind: Service +metadata: + name: redis + namespace: default + labels: + name: redis +spec: + ports: + - name: redis + port: 6379 + targetPort: redis + selector: + name: redis + +``` +gitlab-postgresql.yaml: +``` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgresql + namespace: default + labels: + name: postgresql +spec: + selector: + matchLabels: + name: postgresql + template: + metadata: + name: postgresql + labels: + name: postgresql + spec: + containers: + - name: postgresql + image: 10.35.111.11:5000/postgres:13.6 + imagePullPolicy: IfNotPresent + env: + - name: POSTGRES_HOST_AUTH_METHOD + value: trust + - name: DB_USER + value: gitlab + - name: DB_PASS + value: passw0rd + - name: DB_NAME + value: gitlab_production + - name: DB_EXTENSION + value: pg_trgm + ports: + - name: postgres + containerPort: 5432 + volumeMounts: + - mountPath: /var/lib/postgresql + name: data + livenessProbe: + exec: + command: + - pg_isready + - -h + - localhost + - -U + - postgres + initialDelaySeconds: 30 + timeoutSeconds: 5 + readinessProbe: + exec: + command: + - pg_isready + - -h + - localhost + - -U + - postgres + initialDelaySeconds: 5 + timeoutSeconds: 1 + volumes: + - name: data + emptyDir: {} + +--- +apiVersion: v1 +kind: Service +metadata: + name: postgresql + namespace: default + labels: + name: postgresql +spec: + ports: + - name: postgres + port: 5432 + targetPort: postgres + selector: + name: postgresql + +``` +gitlab.yaml: +``` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gitlab + namespace: default + labels: + name: gitlab +spec: + selector: + matchLabels: + name: gitlab + template: + metadata: + name: gitlab + labels: + name: gitlab + spec: + containers: + - name: gitlab + image: 10.35.111.11:5000/yrzr/gitlab-ce-arm64v8:14.3.2-ce.0 + imagePullPolicy: IfNotPresent + env: + - name: TZ + value: Asia/Shanghai + - name: GITLAB_TIMEZONE + value: Beijing + - name: GITLAB_SECRETS_DB_KEY_BASE + value: long-and-random-alpha-numeric-string + - name: GITLAB_SECRETS_SECRET_KEY_BASE + value: long-and-random-alpha-numeric-string + - name: GITLAB_SECRETS_OTP_KEY_BASE + value: long-and-random-alpha-numeric-string + - name: GITLAB_ROOT_PASSWORD + value: admin321 + - name: GITLAB_ROOT_EMAIL + value: 517554016@qq.com + - name: GITLAB_HOST + value: git.qikqiak.com + - name: GITLAB_PORT + value: "80" + - name: GITLAB_SSH_PORT + value: "22" + - name: GITLAB_NOTIFY_ON_BROKEN_BUILDS + value: "true" + - name: GITLAB_NOTIFY_PUSHER + value: "false" + - name: GITLAB_BACKUP_SCHEDULE + value: daily + - name: GITLAB_BACKUP_TIME + value: 01:00 + - name: DB_TYPE + value: postgres + - name: DB_HOST + value: postgresql + - name: DB_PORT + value: "5432" + - name: DB_USER + value: gitlab + - name: DB_PASS + value: passw0rd + - name: DB_NAME + value: gitlab_production + - name: REDIS_HOST + value: redis + - name: REDIS_PORT + value: "6379" + ports: + - name: http + containerPort: 80 + - name: ssh + containerPort: 22 + volumeMounts: + - mountPath: /home/git/data + name: data + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 180 + timeoutSeconds: 5 + readinessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 5 + timeoutSeconds: 1 + volumes: + - name: data + emptyDir: {} + +--- +apiVersion: v1 +kind: Service +metadata: + name: gitlab + namespace: default + labels: + name: gitlab +spec: + ports: + - name: http + port: 80 + targetPort: http + nodePort: 30852 + - name: ssh + port: 22 + nodePort: 32353 + targetPort: ssh + selector: + name: gitlab + type: NodePort +``` +启动相应的容器: +``` +# kubectl apply -f gitlab-redis.yaml +# kubectl apply -f gitlab-postgresql.yaml +# kubectl apply -f gitlab.yaml +``` +可通过命令查看gitlab pod是否搭建完成: +``` +# kubectl get pod -A -owide +``` + +## 登录gitlab +查看是否可以登录gitlab网页,网址为ip地址加设定的端口。 + +![网页入口](figures/4.gitlab%E7%BD%91%E9%A1%B5%E5%85%A5%E5%8F%A3.jpg) +用户名为root,默认密码需进入容器后查看密码文件。 + +``` +# kubectl exec -it gitlab-lab -n default /bin/sh +# cat /etc/gitlab/initial_root_password +``` +![查询密码](figures/5.%E6%9F%A5%E8%AF%A2%E5%AF%86%E7%A0%81.jpg) + +- 登录后界面如图: + +![登录后页面](figures/6.%E7%99%BB%E5%BD%95%E5%90%8E%E9%A1%B5%E9%9D%A2.png) diff --git "a/docs/zh/docs/ClusterDeployment/iSulad+k8s\347\216\257\345\242\203\351\203\250\347\275\262.md" "b/docs/zh/docs/ClusterDeployment/iSulad+k8s\347\216\257\345\242\203\351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..1526f1ebbdf8c201db196eceadcb7c32def05483 --- /dev/null +++ "b/docs/zh/docs/ClusterDeployment/iSulad+k8s\347\216\257\345\242\203\351\203\250\347\275\262.md" @@ -0,0 +1,385 @@ +# K8s+iSulad环境部署 + +## 准备集群服务器 + +需准备至少3台openEuler机器,建议在openEuler-22.03及以上版本运行。下表为示例搭建机器信息,仅供参考。 + +| 主机名 | IP | 系统版本 | 角色 | 组件 | +|-------|-------------|------------------------|----------|-----------| +| lab1 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 控制节点 | iSulad/k8s | +| lab2 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 工作节点1 | iSulad/k8s | +| lab3 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 工作节点2 | iSulad/k8s | + +## 镜像/软件信息 + +安装过程中需要用到的软件及镜像名称如下表,版本号为示例安装时用到的版本,仅供参考。 + +| 软件 | 版本 | +|------------------------------------|----------| +| iSulad | 2.0.17-2 | +| kubernetes-client | 1.20.2-9 | +| kubernetes-kubeadm | 1.20.2-9 | +| kubernetes-kubelet | 1.20.2-9 | + +| 镜像 | 版本 | +|------------------------------------|----------| +| k8s.gcr.io/kube-proxy | v1.20.2 | +| k8s.gcr.io/kube-apiserver | v1.20.2 | +| k8s.gcr.io/kube-controller-manager | v1.20.2 | +| k8s.gcr.io/kube-scheduler | v1.20.2 | +| k8s.gcr.io/etcd | 3.4.13-0 | +| k8s.gcr.io/coredns | 1.7.0 | +| k8s.gcr.io/pause | 3.2 | +| calico/node | v3.14.2 | +| calico/pod2daemon-flexvol | v3.14.2 | +| calico/cni | v3.14.2 | +| calico/kube-controllers | v3.14.2 | + +> 如果在无外网环境中搭建,可以从以下链接提前下载对应的软件包、相关依赖软件包及镜像。
+ 软件包下载地址:[https://repo.openeuler.org/openEuler-22.03-LTS-SP4/ ](https://repo.openeuler.org/openEuler-22.03-LTS-SP4/) + 镜像下载地址:[https://developer.aliyun.com/mirror/](https://developer.aliyun.com/mirror/) + +## 修改host文件 + +1. 修改主机名,以其中一台机器为例。 + + ```shell + # hostnamectl set-hostname lab1 + # sudo -i + ``` + +2. 配置主机名解析,编辑三台服务器的/etc/hosts文件。 + + ```shell + # vim /etc/hosts + ``` + +3. 在hosts文件中添加以下内容(IP+主机名)。 + + ```text + 197.xxx.xxx.xxx lab1 + 197.xxx.xxx.xxx lab2 + 197.xxx.xxx.xxx lab3 + ``` + +## 环境准备 + +1. 关闭防火墙。 + + ```shell + # systemctl stop firewalld + # systemctl disable firewalld + ``` + +2. 禁用selinux。 + + ```shell + # setenforce 0 + ``` + +3. 关闭系统swap。 + + ```shell + # swapoff -a + # sed -ri 's/.*swap.*/#&/' /etc/fstab + ``` + +4. 网络配置,开启相应的转发机制。 + + ```shell + # cat > /etc/sysctl.d/kubernetes.conf <**说明** : 以下所下载的镜像版本均为示例,具体版本号以上条命令返回结果为准,下同。 + + ```shell + # isula pull k8smx/kube-apiserver:v1.20.15 + # isula pull k8smx/kube-controller-manager:v1.20.15 + # isula pull k8smx/kube-scheduler:v1.20.15 + # isula pull k8smx/kube-proxy:v1.20.15 + # isula pull k8smx/pause:3.2 + # isula pull k8smx/coredns:1.7.0 + # isula pull k8smx/etcd:3.4.13-0 + ``` + +3. 修改已下载的镜像标签。 + + ```shell + # isula tag k8smx/kube-apiserver:v1.20.15 k8s.gcr.io/kube-apiserver:v1.20.15 + # isula tag k8smx/kube-controller-manager:v1.20.15 k8s.gcr.io/kube-controller-manager:v1.20.15 + # isula tag k8smx/kube-scheduler:v1.20.15 k8s.gcr.io/kube-scheduler:v1.20.15 + # isula tag k8smx/kube-proxy:v1.20.15 k8s.gcr.io/kube-proxy:v1.20.15 + # isula tag k8smx/pause:3.2 k8s.gcr.io/pause:3.2 + # isula tag k8smx/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0 + # isula tag k8smx/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0 + ``` + +4. 删除旧镜像。 + + ```shell + # isula rmi k8smx/kube-apiserver:v1.20.15 + # isula rmi k8smx/kube-controller-manager:v1.20.15 + # isula rmi k8smx/kube-scheduler:v1.20.15 + # isula rmi k8smx/kube-proxy:v1.20.15 + # isula rmi k8smx/pause:3.2 + # isula rmi k8smx/coredns:1.7.0 + # isula rmi k8smx/etcd:3.4.13-0 + ``` + +5. 查看已拉取的镜像。 + + ```shell + # isula images + ``` + +## 安装crictl工具 + +```shell +# yum install -y cri-tools +``` + +## 初始化master节点 + +执行如下命令初始化master节点: + +```shell +# kubeadm init --kubernetes-version v1.20.2 --cri-socket=/var/run/isulad.sock --pod-network-cidr=[指定pod分配IP段] + +//以上参数的解释 +kubernetes-version 为当前安装的版本 +cri-socket 指定引擎为isulad +pod-network-cidr 指定pod分配的ip段 +``` + +根据系统提示输入如下命令: + +```shell +# mkdir -p $HOME/.kube +# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config +# sudo chown $(id -u):$(id -g) $HOME/.kube/config +``` + +初始化成功后,复制最后两行内容,在node节点上执行刚刚复制的命令,将节点加入master集群,如未记录上述命令可通过如下命令生成: + +```shell +# kubeadm token create --print-join-command +``` + +## node节点添加进集群 + +粘贴master上初始化生成的kubeadm join ...命令,并在discovery前添加--cri-socket=/var/run/isulad.sock,执行如下命令: + +```shell +# kubeadm join [IP地址] --token bgyis4.euwkjqb7jwuenwvs --cri-socket=/var/run/isulad.sock --discovery-token-ca-cert-hash sha256:3792f02e136042e2091b245ac71c1b9cdcb97990311f9300e91e1c339e1dfcf6 +``` + +## 安装calico网络插件 + +1. 拉取calico镜像。 + + 需要在master节点配置calico网络插件,同时需要在每个节点中提前拉取需要版本的镜像。 + + ```shell + isula pull calico/node:v3.14.2 + isula pull calico/cni:v3.14.2 + isula pull calico/kube-controllers:v3.14.2 + isula pull calico/pod2daemon-flexvol:v3.14.2 + ``` + +2. 在master节点上获取配置文件。 + + ```shell + wget https://docs.projectcalico.org/v3.14/manifests/calico.yaml + ``` + +3. 修改后创建pod。 + + ```shell + # kubectl apply -f calico.yaml + ``` + + - 如需删除使用如下命令: + + ```shell + # kubectl delete -f calico.yaml + ``` + +4. 查看pod信息。 + + ```shell + # kubectl get pod -A -o wide + ``` + +## 查看master节点node信息 + +使用如下命令可查看节点的详细信息: + +```shell +# kubectl get nodes -o wide +``` + +若需要重置node节点,可使用如下命令: + +```shell +# kubeadm reset +``` \ No newline at end of file diff --git "a/docs/zh/docs/ClusterDeployment/iSulad+k8s\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\215\227.md" "b/docs/zh/docs/ClusterDeployment/iSulad+k8s\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\215\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..447fb635c0407e30989dbc8b4bbaf602136ee3fa --- /dev/null +++ "b/docs/zh/docs/ClusterDeployment/iSulad+k8s\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\215\227.md" @@ -0,0 +1,22 @@ +欧拉原生开发环境集群部署参考实现方案 +=============== + + +本文档介绍在 openEuler 操作系统上,通过 kubeadm 部署 K8S 集群,搭建 K8S+iSulad 的环境,并在该环境上部署 gitlab-runner,指导部署欧拉原生开发环境集群。 + +本文档主要包括以下两个场景内容: + +场景一: 基于 gitlab-ci 从 “0” 开始构建欧拉原生开发CICD部署指导。 +场景二: 欧拉原生开发执行机集群被 gitlab-ci 纳管指导。 + +场景一中需要额外部署gitlab,步骤操作顺序为: +1. K8s+iSulad 环境部署。 +2. gitlab 部署。 +3. gitlab runner 部署和测试。 + +场景二中已有 gitlab-ci 平台,无需额外部署,步骤操作顺序为: +1. K8s+iSulad 环境部署。 +2. gitlab runner 部署和测试。 + + +> **说明**:本文档所有操作均使用root权限执行。 \ No newline at end of file diff --git "a/docs/zh/docs/ClusterDeployment/\346\224\257\346\214\201\345\216\237\347\224\237\345\274\200\345\217\221\347\216\257\345\242\203\346\211\247\350\241\214\346\234\272\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\257\274.md" "b/docs/zh/docs/ClusterDeployment/\346\224\257\346\214\201\345\216\237\347\224\237\345\274\200\345\217\221\347\216\257\345\242\203\346\211\247\350\241\214\346\234\272\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\257\274.md" new file mode 100644 index 0000000000000000000000000000000000000000..7f0acb33d3f754b6aed57a584a20aa6193f2bf14 --- /dev/null +++ "b/docs/zh/docs/ClusterDeployment/\346\224\257\346\214\201\345\216\237\347\224\237\345\274\200\345\217\221\347\216\257\345\242\203\346\211\247\350\241\214\346\234\272\351\233\206\347\276\244\351\203\250\347\275\262\346\214\207\345\257\274.md" @@ -0,0 +1,588 @@ +# 文档说明 + +本文档介绍在 openEuler 操作系统上,通过 kubeadm 部署 K8S 集群,搭建 K8S+iSulad 的环境,并在该环境上部署 gitlab-runner,通过执行流水线用例任务来进行验证测试的步骤。 +本文档主要包括以下两部分的内容: + +1. K8s+iSulad 环境部署。 +2. gitlab runner 部署和测试。 + +> **说明**:本文档所有操作均使用root权限执行。 +> + +# K8s+iSulad环境部署 + +## 准备集群服务器 + +需准备至少3台openEuler机器,建议在openEuler-22.03及以上版本运行。下表为示例搭建机器信息。 + +| 主机名 | IP | 系统版本 | 角色 | 组件 | +|-------|-------------|------------------------|----------|-----------| +| lab1 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 控制节点 | iSulad/k8s | +| lab2 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 工作节点1 | iSulad/k8s | +| lab3 | 197.xxx.xxx.xxx | openEuler 22.03 LTS SP4 | 工作节点2 | iSulad/k8s | + +## 镜像/软件信息 + +安装过程中需要用到的软件及镜像名称如下表,版本号为示例安装时用到的版本,仅供参考。如果在无公网环境中搭建,需提前下载对应的软件包、相关依赖软件包及镜像。 + +- 软件包下载地址: +- 镜像下载地址:dockerhub官网 + +| 镜像/软件 | 版本 | +|------------------------------------|----------| +| iSulad | 2.0.17-2 | +| kubernetes-client | 1.20.2-9 | +| kubernetes-kubeadm | 1.20.2-9 | +| kubernetes-kubelet | 1.20.2-9 | +| k8s.gcr.io/kube-proxy | v1.20.2 | +| k8s.gcr.io/kube-apiserver | v1.20.2 | +| k8s.gcr.io/kube-controller-manager | v1.20.2 | +| k8s.gcr.io/kube-scheduler | v1.20.2 | +| k8s.gcr.io/etcd | 3.4.13-0 | +| k8s.gcr.io/coredns | 1.7.0 | +| k8s.gcr.io/pause | 3.2 | +| calico/node | v3.14.2 | +| calico/pod2daemon-flexvol | v3.14.2 | +| calico/cni | v3.14.2 | +| calico/kube-controllers | v3.14.2 | +| gitlab/gitlab-runner | alpine-v14.4.0 | +| gitlab/gitlab-runner-helper | x86_64-54944146 | + +## 修改host文件 + +1. 修改主机名,以其中一台机器为例。 + + ``` + # hostnamectl set-hostname lab1 + # sudo -i + ``` + +2. 配置主机名解析,编辑三台服务器的/etc/hosts文件。 + + ``` + # vim /etc/hosts + ``` + +3. 在hosts文件中添加以下内容(IP+主机名) + + ``` + 197.xxx.xxx.xxx lab1 + 197.xxx.xxx.xxx lab2 + 197.xxx.xxx.xxx lab3 + ``` + +## 环境准备 + +1. 关闭防火墙。 + + ``` + # systemctl stop firewalld + # systemctl disable firewalld + ``` + +2. 禁用selinux。 + + ``` + # setenforce 0 + ``` + +3. 关闭系统swap。 + + ``` + # swapoff -a + # sed -ri 's/.*swap.*/#&/' /etc/fstab + ``` + +4. 网络配置,开启相应的转发机制。 + + ``` + # cat > /etc/sysctl.d/kubernetes.conf <**说明** : 以下所下载的镜像版本均为示例,具体版本号以上条命令返回结果为准,下同。 + + ```shell + # isula pull k8simage/kube-apiserver:v1.20.15 + # isula pull k8smx/kube-controller-manager:v1.20.15 + # isula pull k8smx/kube-scheduler:v1.20.15 + # isula pull k8smx/kube-proxy:v1.20.15 + # isula pull k8smx/pause:3.2 + # isula pull k8smx/coredns:1.7.0 + # isula pull k8smx/etcd:3.4.13-0 + ``` + +3. 修改已下载的镜像标签。 + + ```shell + # isula tag k8simage/kube-apiserver:v1.20.15 k8s.gcr.io/kube-apiserver:v1.20.15 + # isula tag k8smx/kube-controller-manager:v1.20.15 k8s.gcr.io/kube-controller-manager:v1.20.15 + # isula tag k8smx/kube-scheduler:v1.20.15 k8s.gcr.io/kube-scheduler:v1.20.15 + # isula tag k8smx/kube-proxy:v1.20.15 k8s.gcr.io/kube-proxy:v1.20.15 + # isula tag k8smx/pause:3.2 k8s.gcr.io/pause:3.2 + # isula tag k8smx/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0 + # isula tag k8smx/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0 + ``` + +4. 删除旧镜像。 + + ```shell + # isula rmi k8simage/kube-apiserver:v1.20.15 + # isula rmi k8smx/kube-controller-manager:v1.20.15 + # isula rmi k8smx/kube-scheduler:v1.20.15 + # isula rmi k8smx/kube-proxy:v1.20.15 + # isula rmi k8smx/pause:3.2 + # isula rmi k8smx/coredns:1.7.0 + # isula rmi k8smx/etcd:3.4.13-0 + ``` + +5. 查看已拉取的镜像。 + + ```shell + # isula images + ``` + +## 安装crictl工具 + +```shell +# yum install -y cri-tools +``` + +## 初始化master节点 + +执行如下命令初始化master节点: + +```shell +# kubeadm init --kubernetes-version v1.20.2 --cri-socket=/var/run/isulad.sock --pod-network-cidr=[指定pod分配IP段] + +//以上参数的解释 +kubernetes-version 为当前安装的版本 +cri-socket 指定引擎为isulad +pod-network-cidr 指定pod分配的ip段 +``` + +根据系统提示输入如下命令: + +```shell +# mkdir -p $HOME/.kube +# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config +# sudo chown $(id -u):$(id -g) $HOME/.kube/config +``` + +初始化成功后,复制最后两行内容,在node节点上执行刚刚复制的命令,将节点加入master集群,如未记录上述命令可通过如下命令生成: + +```shell +# kubeadm token create --print-join-command +``` + +## node节点添加进集群 + +粘贴master上初始化生成的kubeadm join ...命令,并在discovery前添加--cri-socket=/var/run/isulad.sock,执行如下命令: + +```shell +# kubeadm join [IP地址] --token bgyis4.euwkjqb7jwuenwvs --cri-socket=/var/run/isulad.sock --discovery-token-ca-cert-hash sha256:3792f02e136042e2091b245ac71c1b9cdcb97990311f9300e91e1c339e1dfcf6 +``` + +## 安装calico网络插件 + +1. 拉取calico镜像。 + + 需要在master节点配置calico网络插件,同时需要在每个节点中提前拉取需要版本的镜像。 + + ```shell + isula pull calico/node:v3.14.2 + isula pull calico/cni:v3.14.2 + isula pull calico/kube-controllers:v3.14.2 + isula pull calico/pod2daemon-flexvol:v3.14.2 + ``` + +2. 在master节点上获取配置文件。 + + ```shell + wget https://docs.projectcalico.org/v3.14/manifests/calico.yaml + ``` + +3. 修改calico.yaml文件。 + + ```shell + # vim calico.yaml + + //修改以下两个参数 + + - name: IP_AUTODERECTION_METHOD + Value: ”can-reach=197.3.10.254” + + - name: CALICO_IPV4POOL_IPIP + Value: ”CrossSubnet” + ``` + + ![](figures/2.calico%E9%85%8D%E7%BD%AE.png) + + - 若POD默认CNI为flannel,在flannel.yaml中添加以下内容,详见下图: + + ``` + --iface=enp4s0 + ``` + + ![](figures/3.png) + +4. 修改后创建pod。 + + ```shell + # kubectl apply -f calico.yaml + ``` + + - 如需删除使用如下命令: + + ```shell + # kubectl delete -f calico.yaml + ``` + +5. 查看pod信息。 + + ```shell + # kubectl get pod -A -o wide + ``` + +## 查看master节点node信息 + +使用如下命令可查看节点的详细信息: + +```shell +# kubectl get nodes -o wide +``` + +若需要重置node节点,可使用如下命令: + +```shell +# kubeadm reset +``` + +# gitlab runner部署及测试 + +## gitlab部署 + +将需要的yaml文件拷贝至/home目录,并启动对应的pod。 +> **说明**:gitlab相关的yaml文件可从官网获得,请选择需要的对应版本下载。 + +```shell +# kubectl apply -f gitlab-redis.yaml +# kubectl apply -f gitlab-postgresql.yaml +# kubectl apply -f gitlab.yaml +``` + +可通过命令查看gitlab pod是否搭建完成。 + +```shell +# kubectl get pod -A -owide +``` + +查看是否可以登录gitlab网页,网址为ip地址加设定的端口。 + +![网页入口](figures/4.gitlab%E7%BD%91%E9%A1%B5%E5%85%A5%E5%8F%A3.jpg) +用户名为root,默认密码需进入容器后查看密码文件。 + +```shell +# kubectl exec -it gitlab-lab -n default /bin/sh +# cat /etc/gitlab/initial_root_password +``` + +![查询密码](figures/5.%E6%9F%A5%E8%AF%A2%E5%AF%86%E7%A0%81.jpg) + +- 登录后界面如图: + +![登录后页面](figures/6.%E7%99%BB%E5%BD%95%E5%90%8E%E9%A1%B5%E9%9D%A2.png) + +## 使用gitlab-runner.yaml启动runner容器 + +修改gitlab-runner.yaml文件,修改文件中的镜像名。 + +```shell +# vim gitlab-runner.yaml +# kubectl apply -f gitlab-runner.yaml +# kubectl get pod -A -o wide +``` + +![镜像](figures/7.%E9%95%9C%E5%83%8F.png) + +## 登录gitlab容器网页-用户证书认证 + +1. 新建项目。 + + ![新建项目](figures/8.%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE.png) + +2. 创建空白项目。 + + ![创建空白项目](figures/9.%E5%88%9B%E5%BB%BA%E7%A9%BA%E7%99%BD%E9%A1%B9%E7%9B%AE.png) + +3. 自定义项目名称。 + + ![自定义项目名称](figures/10.%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0.jpg) + +4. 设置--CI/CD--Runner--展开。 + + ![设置-cicd-runner](figures/11.%E8%AE%BE%E7%BD%AE-cicd-runner.png) + +5. 记录注册Runner的地址和令牌。 + + ![记下runner地址与令牌](figures/12.%E8%AE%B0%E4%B8%8Brunner%E5%9C%B0%E5%9D%80%E4%B8%8E%E4%BB%A4%E7%89%8C.jpg) + +6. 导入证书文件。 + + 在master节点上查看并生成证书文件,共三个文件admin.crt、admin.key、ca.crt。 + + - 查看证书信息 + + ```shell + # cat /etc/kubernetes/admin.conf + ``` + + ![查看证书配置文件](figures/13.%E6%9F%A5%E7%9C%8B%E8%AF%81%E4%B9%A6%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png) + + - 加密生成admin.crt + + ```shell + # echo “${client-certificate-data}” | base64 -d > admin.crt + ``` + + - 加密生成admin.key + + ```shell + # echo “${client-key-data}” | base64 -d > admin.key + ``` + + - 在manager节点上获取ca的证书 + + ```shell + # cp /etc/kubernetes/pki/ca.crt ./ + ``` + +7. 在runner运行的节点处将三个证书文件导入gitlab-runner容器。 + + >**说明** :导入容器需查看gitlab-runner运行在哪个节点上,将三个证书文件拷贝至该节点,然后使用isula cp命令导入。 + + ```shell + # isula cp admin.crt [容器id]:存放位置 + # isula cp admin.key [容器id]:存放位置 + # isula cp ca.crt [容器id]:存放位置 + ``` + + 注:isula cp 命令只能一次拷贝一个文件 + + ![证书导入文件](figures/14.%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5%E6%96%87%E4%BB%B6.png) + +## 注册gitlab-runner + +进入到runner的容器内进行注册;目前采用交互式注册,注册信息在gitlab上获得,当前配置的 runner服务于项目组,此信息的界面在gitlab-\>项目组(group)-\>设置-\>CI/CD-\>runner中查看。 + +![注册gitlab-runner](figures/15.%E6%B3%A8%E5%86%8Cgitlab-runner.jpg) + +![web端已加入](figures/16.web%E7%AB%AF%E5%B7%B2%E5%8A%A0%E5%85%A5_LI.jpg) + +将准备好的gitlab-runner-helper镜像提前上传至私有镜像仓,进入gitlab-runner容器中,修改配置文件。 + +```shell +# cd /etc/gitlab-runner +# mkdir kubessl +# cp /home/admin.crt /etc/gitlab-runner/kubessl +# cp /home/ca.crt /etc/gitlab-runner/kubessl +# cp /home/admin.key /etc/gitlab-runner/kubessl +# vim /etc/gitlab-runner/config.toml +``` + +![](figures/17.png) + +## 在manager节点进行如下操作添加gitlab容器的dns记录 + +1. 查看gitlab容器的ip地址 + + ```shell + # kubectl get pods –Aowide + ``` + +2. 添加gitlabip地址到k8s dns配置文件 + + ```shell + # kubectl edit configmaps coredns -n kube-system + ``` + +![dns](figures/18.dns%E9%85%8D%E7%BD%AE.png) + +3. 重启coredns服务 + + ```shell + # kubectl scale deployment coredns -n kube-system --replicas=0 + # kubectl scale deployment coredns -n kube-system --replicas=2 + ``` + +## gitlab运行测试 + +返回gitlab的web界面,选择CI/CD--编辑器--创建新的CI/CD流水线。 + +![CICD界面](figures/19.CICD%E7%95%8C%E9%9D%A2.png) + +- 编译yaml文件如下: + +![yaml文件](figures/20.yaml%E6%96%87%E4%BB%B6.png) + +- 流水线-查看状态。 + +![流水线状态](figures/21.%E6%B5%81%E6%B0%B4%E7%BA%BF%E7%8A%B6%E6%80%81.png) diff --git a/docs/zh/menu/index.md b/docs/zh/menu/index.md new file mode 100644 index 0000000000000000000000000000000000000000..6dcef4c04766e894495dbe7d1b3edc0974380d03 --- /dev/null +++ b/docs/zh/menu/index.md @@ -0,0 +1,385 @@ +--- +headless: true +--- +- [发行说明]({{< relref "./docs/Releasenotes/法律声明.md" >}}) + - [发行说明]({{< relref "./docs/Releasenotes/release_notes.md" >}}) + - [简介]({{< relref "./docs/Releasenotes/简介.md" >}}) + - [用户须知]({{< relref "./docs/Releasenotes/用户须知.md" >}}) + - [帐号清单]({{< relref "./docs/Releasenotes/帐号清单.md" >}}) + - [简介]({{< relref "./docs/Releasenotes/简介.md" >}}) + - [系统安装]({{< relref "./docs/Releasenotes/系统安装.md" >}}) + - [关键特性]({{< relref "./docs/Releasenotes/关键特性.md" >}}) + - [已知问题]({{< relref "./docs/Releasenotes/已知问题.md" >}}) + - [已修复问题]({{< relref "./docs/Releasenotes/已修复问题.md" >}}) + - [CVE漏洞]({{< relref "./docs/Releasenotes/CVE漏洞.md" >}}) + - [源代码]({{< relref "./docs/Releasenotes/源代码.md" >}}) + - [参与贡献]({{< relref "./docs/Releasenotes/参与贡献.md" >}}) + - [致谢]({{< relref "./docs/Releasenotes/致谢.md" >}}) + - [快速入门]({{< relref "./docs/Quickstart/quick-start.md" >}}) +- [安装升级](#) + - [安装指南]({{< relref "./docs/Installation/installation.md" >}}) + - [安装在服务器]({{< relref "./docs/Installation/安装在服务器.md" >}}) + - [安装准备]({{< relref "./docs/Installation/安装准备.md" >}}) + - [安装方式介绍]({{< relref "./docs/Installation/安装方式介绍.md" >}}) + - [安装指导]({{< relref "./docs/Installation/安装指导.md" >}}) + - [使用kickstart自动化安装]({{< relref "./docs/Installation/使用kickstart自动化安装.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Installation/安装在服务器常见问题与解决方法.md" >}}) + - [安装在树莓派]({{< relref "./docs/Installation/安装在树莓派.md" >}}) + - [安装准备]({{< relref "./docs/Installation/安装准备-1.md" >}}) + - [安装方式介绍]({{< relref "./docs/Installation/安装方式介绍-1.md" >}}) + - [安装指导]({{< relref "./docs/Installation/安装指导-1" >}}) + - [常见问题与解决方法]({{< relref "./docs/Installation/安装在树莓派常见问题与解决方法.md" >}}) + - [更多资源]({{< relref "./docs/Installation/更多资源.md" >}}) + - [RISC-V安装指南]({{< relref "./docs/Installation/riscv.md" >}}) + - [虚拟机安装]({{< relref "./docs/Installation/riscv_qemu.md" >}}) + - [更多资源]({{< relref "./docs/Installation/riscv_more.md" >}}) + - [升级指南]({{< relref "./docs/os_upgrade_and_downgrade/openEuler 22.03 LTS升降级指导.md" >}}) +- [系统管理](#) + - [管理员指南]({{< relref "./docs/Administration/administration.md" >}}) + - [查看系统信息]({{< relref "./docs/Administration/查看系统信息.md" >}}) + - [基础配置]({{< relref "./docs/Administration/基础配置.md" >}}) + - [管理用户和用户组]({{< relref "./docs/Administration/管理用户和用户组.md" >}}) + - [使用DNF管理软件包]({{< relref "./docs/Administration/使用DNF管理软件包.md" >}}) + - [管理服务]({{< relref "./docs/Administration/管理服务.md" >}}) + - [管理进程]({{< relref "./docs/Administration/管理进程.md" >}}) + - [管理内存]({{< relref "./docs/Administration/overview.md" >}}) + - [etmem用户指南]({{< relref "./docs/Administration/memory-management.md" >}}) + - [GMEM用户指南]({{< relref "./docs/GMEM/认识GMEM" >}}) + - [安装与部署]({{< relref "./docs/GMEM/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/GMEM/使用说明.md" >}}) + - [配置网络]({{< relref "./docs/Administration/配置网络.md" >}}) + - [使用LVM管理硬盘]({{< relref "./docs/Administration/使用LVM管理硬盘.md" >}}) + - [使用KAE加速引擎]({{< relref "./docs/Administration/使用KAE加速引擎.md" >}}) + - [搭建服务]({{< relref "./docs/Administration/搭建服务.md" >}}) + - [搭建repo服务器]({{< relref "./docs/Administration/搭建repo服务器.md" >}}) + - [搭建FTP服务器]({{< relref "./docs/Administration/搭建FTP服务器.md" >}}) + - [搭建web服务器]({{< relref "./docs/Administration/搭建web服务器.md" >}}) + - [搭建数据库服务器]({{< relref "./docs/Administration/搭建数据库服务器.md" >}}) + - [可信计算]({{< relref "./docs/Administration/可信计算.md" >}}) + - [内核完整性度量(IMA)]({{< relref "./docs/Administration/内核完整性度量(IMA).md" >}}) + - [动态完整性度量(DIM)]({{< relref "./docs/Administration/动态完整性度量(DIM).md" >}}) + - [远程证明(鲲鹏安全库)]({{< relref "./docs/Administration/远程证明(鲲鹏安全库).md" >}}) + - [可信平台控制模块(TPCM)]({{< relref "./docs/Administration/可信平台控制模块(TPCM).md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Administration/可信计算常见问题与解决方法.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Administration/系统管理常见问题与解决方法.md" >}}) + - [运维指南]({{< relref "./docs/ops_guide/overview.md" >}}) + - [运维概述]({{< relref "./docs/ops_guide/运维概述.md" >}}) + - [系统资源与性能]({{< relref "./docs/ops_guide/系统资源与性能.md" >}}) + - [信息收集]({{< relref "./docs/ops_guide/信息收集.md" >}}) + - [故障应急处理]({{< relref "./docs/ops_guide/故障应急处理.md" >}}) + - [常用工具]({{< relref "./docs/ops_guide/常用工具.md" >}}) + - [常用技能]({{< relref "./docs/ops_guide/常用技能.md" >}}) + - [sysMaster用户指南]({{< relref "./docs/sysMaster/overview.md" >}}) + - [服务管理]({{< relref "./docs/sysMaster/服务管理.md" >}}) + - [安装与部署]({{< relref "./docs/sysMaster/sysmaster安装与部署.md" >}}) + - [使用说明]({{< relref "./docs/sysMaster/sysmaster使用说明.md" >}}) + - [设备管理]({{< relref "./docs/sysMaster/设备管理简介.md" >}}) + - [安装与部署]({{< relref "./docs/sysMaster/devmaster安装与部署.md" >}}) + - [使用说明]({{< relref "./docs/sysMaster/devmaster使用说明.md" >}}) + - [兼容性命令]({{< relref "./docs/memsafety/overview.md" >}}) + - [utshell用户指南]({{< relref "./docs/memsafety/utshell/utshell_guide.md" >}}) + - [utsudo用户指南]({{< relref "./docs/memsafety/utsudo/utsudo-用户指南.md" >}}) +- [网络](#) + - [Gazelle用户指南]({{< relref "./docs/Gazelle/Gazelle.md" >}}) +- [维护](#) + - [Aops用户指南]({{< relref "./docs/A-Ops/overview.md" >}}) + - [AOps部署指南]({{< relref "./docs/A-Ops/AOps部署指南.md" >}}) + - [AOps智能定位框架使用手册]({{< relref "./docs/A-Ops/AOps智能定位框架使用手册.md" >}}) + - [aops-agent部署指南]({{< relref "./docs/A-Ops/aops-agent部署指南.md" >}}) + - [热补丁dnf插件使用手册]({{< relref "./docs/A-Ops/dnf插件命令指导手册.md" >}}) + - [配置溯源服务使用手册]({{< relref "./docs/A-Ops/配置溯源服务使用手册.md" >}}) + - [架构感知服务使用手册]({{< relref "./docs/A-Ops/架构感知服务使用手册.md" >}}) + - [gala-gopher使用手册]({{< relref "./docs/A-Ops/gala-gopher使用手册.md" >}}) + - [gala-anteater使用手册]({{< relref "./docs/A-Ops/gala-anteater使用手册.md" >}}) + - [gala-spider使用手册]({{< relref "./docs/A-Ops/gala-spider使用手册.md" >}}) + - [社区热补丁制作发布流程]({{< relref "./docs/A-Ops/社区热补丁制作发布流程.md" >}}) + - [自动化运维服务使用手册]{{< relref "./docs/A-Ops/自动化运维服务使用手册.md" >}}) + - [内核热升级指南]({{< relref "./docs/KernelLiveUpgrade/KernelLiveUpgrade.md" >}}) + - [安装与部署]({{< relref "./docs/KernelLiveUpgrade/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/KernelLiveUpgrade/使用方法.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/KernelLiveUpgrade/常见问题与解决方法.md" >}}) + - [SysCare用户指南]({{< relref "./docs/SysCare/SysCare用户指南.md" >}}) + - [认识SysCare]({{< relref "./docs/SysCare/认识SysCare.md" >}}) + - [安装SysCare]({{< relref "./docs/SysCare/安装SysCare.md" >}}) + - [使用SysCare]({{< relref "./docs/SysCare/使用SysCare.md" >}}) + - [约束限制]({{< relref "./docs/SysCare/约束限制.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/SysCare/常见问题与解决方法.md" >}}) + - [sysmonitor用户指南]({{< relref "./docs/sysmonitor/sysmonitor-使用手册.md" >}}) + - [HA 用户指南]({{< relref "./docs/thirdparty_migration/ha.md" >}}) + - [部署 HA]({{< relref "./docs/thirdparty_migration/installha.md" >}}) + - [HA 使用实例]({{< relref "./docs/thirdparty_migration/usecase.md" >}}) +- [安全](#) + - [安全加固指南]({{< relref "./docs/SecHarden/secHarden.md" >}}) + - [操作系统加固概述]({{< relref "./docs/SecHarden/操作系统加固概述.md" >}}) + - [安全配置说明]({{< relref "./docs/SecHarden/安全配置规范基线.md" >}}) + - [加固指导]({{< relref "./docs/SecHarden/加固指导.md" >}}) + - [帐户口令]({{< relref "./docs/SecHarden/账户口令.md" >}}) + - [授权认证]({{< relref "./docs/SecHarden/授权认证.md" >}}) + - [系统服务]({{< relref "./docs/SecHarden/系统服务.md" >}}) + - [文件权限]({{< relref "./docs/SecHarden/文件权限.md" >}}) + - [内核参数]({{< relref "./docs/SecHarden/内核参数.md" >}}) + - [SELinux配置]({{< relref "./docs/SecHarden/SELinux配置.md" >}}) + - [安全加固工具]({{< relref "./docs/SecHarden/安全加固工具.md" >}}) + - [附录]({{< relref "./docs/SecHarden/附录.md" >}}) + - [secGear开发指南]({{< relref "./docs/secGear/secGear.md" >}}) + - [认识secGear]({{< relref "./docs/secGear/认识secGear.md" >}}) + - [安装与部署]({{< relref "./docs/secGear/安装secGear.md" >}}) + - [接口参考]({{< relref "./docs/secGear/接口参考.md" >}}) + - [开发secGear应用程序]({{< relref "./docs/secGear/开发secGear应用程序.md" >}}) + - [CVE-ease设计指南]({{< relref "./docs/CVE-ease/CVE-ease设计介绍.md" >}}) + - [CVE-ease介绍和安装说明]({{< relref "./docs/CVE-ease/CVE-ease介绍和安装说明.md" >}}) + - [证书签名]({{< relref "./docs/CertSignature/总体概述.md" >}}) + - [签名证书介绍]({{< relref "./docs/CertSignature/签名证书介绍.md" >}}) + - [安全启动]({{< relref "./docs/CertSignature/安全启动.md" >}}) + - [国密]({{< relref "./docs/ShangMi/概述.md" >}}) + - [磁盘加密]({{< relref "./docs/ShangMi/磁盘加密.md" >}}) + - [内核模块签名]({{< relref "./docs/ShangMi/内核模块签名.md" >}}) + - [算法库]({{< relref "./docs/ShangMi/算法库.md" >}}) + - [文件完整性保护]({{< relref "./docs/ShangMi/文件完整性保护.md" >}}) + - [用户身份鉴别]({{< relref "./docs/ShangMi/用户身份鉴别.md" >}}) + - [证书]({{< relref "./docs/ShangMi/证书.md" >}}) + - [安全启动]({{< relref "./docs/ShangMi/安全启动.md" >}}) + - [SSH协议栈]({{< relref "./docs/ShangMi/SSH协议栈.md" >}}) + - [TLCP协议栈]({{< relref "./docs/ShangMi/TLCP协议栈.md" >}}) + - [RPM支持国密签名验签]({{< relref "./docs/ShangMi/RPM签名验签.md" >}}) +- [性能](#) + - [A-Tune用户指南]({{< relref "./docs/A-Tune/A-Tune.md" >}}) + - [认识A-Tune]({{< relref "./docs/A-Tune/认识A-Tune.md" >}}) + - [安装与部署]({{< relref "./docs/A-Tune/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/A-Tune/使用方法.md" >}}) + - [native-turbo特性]({{< relref "./docs/A-Tune/native-turbo.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/A-Tune/常见问题与解决方法.md" >}}) + - [附录]({{< relref "./docs/A-Tune/附录.md" >}}) + - [sysBoost用户指南]({{< relref "./docs/sysBoost/sysBoost.md" >}}) + - [认识sysBoost]({{< relref "./docs/sysBoost/认识sysBoost.md" >}}) + - [安装与部署]({{< relref "./docs/sysBoost/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/sysBoost/使用方法.md" >}}) +- [桌面](#) + - [UKUI]({{< relref "./docs/desktop/ukui.md" >}}) + - [安装 UKUI]({{< relref "./docs/desktop/安装UKUI.md" >}}) + - [UKUI 用户指南]({{< relref "./docs/desktop/UKUIuserguide.md" >}}) + - [DDE]({{< relref "./docs/desktop/dde.md" >}}) + - [安装 DDE]({{< relref "./docs/desktop/安装DDE.md" >}}) + - [DDE 用户指南]({{< relref "./docs/desktop/DDE-User-Manual.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/desktop/dde常见问题与解决方法.md" >}}) + - [XFCE]({{< relref "./docs/desktop/xfce.md" >}}) + - [安装 Xfce]({{< relref "./docs/desktop/Install_XFCE.md" >}}) + - [Xfce 用户指南]({{< relref "./docs/desktop/Xfce_userguide.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/desktop/xfce常见问题与解决方法.md" >}}) + - [Gnome]({{< relref "./docs/desktop/gnome.md" >}}) + - [安装 GNOME]({{< relref "./docs/desktop/Install_GNOME.md" >}}) + - [Gnome 用户指南]({{< relref "./docs/desktop/Gnome_userguide.md" >}}) + - [Kiran]({{< relref "./docs/desktop/kiran.md" >}}) + - [安装 Kiran]({{< relref "./docs/desktop/kiran安装手册.md" >}}) + - [Kiran 用户指南]({{< relref "./docs/desktop/Kiran_userguide.md" >}}) +- [嵌入式](#) + - [openEuler Embedded用户指南](https://pages.openeuler.openatom.cn/embedded/docs/build/html/master/index.html) + - [UniProton用户指南]({{< relref "./docs/Embedded/UniProton/UniProton用户指南-概述.md" >}}) + - [UniProton功能设计]({{< relref "./docs/Embedded/UniProton/UniProton功能设计.md" >}}) + - [UniProton接口说明]({{< relref "./docs/Embedded/UniProton/UniProton接口说明.md" >}}) +- [虚拟化](#) + - [虚拟化用户指南]({{< relref "./docs/Virtualization/virtualization.md" >}}) + - [认识虚拟化]({{< relref "./docs/Virtualization/认识虚拟化.md" >}}) + - [安装虚拟化组件]({{< relref "./docs/Virtualization/安装虚拟化组件.md" >}}) + - [准备使用环境]({{< relref "./docs/Virtualization/准备使用环境.md" >}}) + - [虚拟机配置]({{< relref "./docs/Virtualization/虚拟机配置.md" >}}) + - [管理虚拟机]({{< relref "./docs/Virtualization/管理虚拟机.md" >}}) + - [热迁移虚拟机]({{< relref "./docs/Virtualization/热迁移虚拟机.md" >}}) + - [管理系统资源]({{< relref "./docs/Virtualization/管理系统资源.md" >}}) + - [管理设备]({{< relref "./docs/Virtualization/管理设备.md" >}}) + - [管理虚拟机可维护性]({{< relref "./docs/Virtualization/管理虚拟机可维护性.md" >}}) + - [最佳实践]({{< relref "./docs/Virtualization/最佳实践.md" >}}) + - [工具使用指南]({{< relref "./docs/Virtualization/工具使用指南.md" >}}) + - [vmtop]({{< relref "./docs/Virtualization/vmtop.md" >}}) + - [LibcarePlus]({{< relref "./docs/Virtualization/LibcarePlus.md" >}}) + - [Skylark虚拟机混部]({{< relref "./docs/Virtualization/Skylark.md" >}}) + - [常见问题与解决办法]({{< relref "./docs/Virtualization/常见问题与解决办法.md" >}}) + - [附录]({{< relref "./docs/Virtualization/附录.md" >}}) + - [StratoVirt用户指南]({{< relref "./docs/StratoVirt/StratoVirtGuide.md" >}}) + - [StratoVirt介绍]({{< relref "./docs/StratoVirt/StratoVirt介绍.md" >}}) + - [安装StratoVirt]({{< relref "./docs/StratoVirt/安装StratoVirt.md" >}}) + - [准备使用环境]({{< relref "./docs/StratoVirt/准备使用环境.md" >}}) + - [虚拟机配置]({{< relref "./docs/StratoVirt/虚拟机配置.md" >}}) + - [虚拟机管理]({{< relref "./docs/StratoVirt/虚拟机管理.md" >}}) + - [对接iSula安全容器]({{< relref "./docs/StratoVirt/对接iSula安全容器.md" >}}) + - [对接libvirt]({{< relref "./docs/StratoVirt/对接libvirt.md" >}}) + - [StratoVirt VFIO 使用说明]({{< relref "./docs/StratoVirt/StratoVirt-VFIO使用说明.md" >}}) + - [libvirt直连聚合用户指南]({{< relref "./docs/DPUOffload/libvirt直连聚合环境搭建.md" >}}) + - [qtfs共享文件系统架构及使用手册]({{< relref "./docs/DPUOffload/qtfs共享文件系统架构及使用手册.md" >}}) + - [容器管理面DPU无感卸载指南]({{< relref "./docs/DPUOffload/overview.md" >}}) + - [容器管理面无感卸载]({{< relref "./docs/DPUOffload/容器管理面无感卸载.md" >}}) + - [容器管理面无感卸载部署指导]({{< relref "./docs/DPUOffload/无感卸载部署指导.md" >}}) + - [OpenStack]({{< relref "./docs/thirdparty_migration/openstack.md" >}}) +- [云原生](#) + - [容器用户指南]({{< relref "./docs/Container/container.md" >}}) + - [iSula容器引擎]({{< relref "./docs/Container/iSula容器引擎.md" >}}) + - [安装、升级与卸载]({{< relref "./docs/Container/安装-升级与卸载.md" >}}) + - [安装与配置]({{< relref "./docs/Container/安装与配置.md" >}}) + - [升级]({{< relref "./docs/Container/升级.md" >}}) + - [卸载]({{< relref "./docs/Container/卸载.md" >}}) + - [使用指南]({{< relref "./docs/Container/使用指南.md" >}}) + - [容器管理]({{< relref "./docs/Container/容器管理.md" >}}) + - [支持CNI网络]({{< relref "./docs/Container/支持CNI网络.md" >}}) + - [容器资源管理]({{< relref "./docs/Container/容器资源管理.md" >}}) + - [特权容器]({{< relref "./docs/Container/特权容器.md" >}}) + - [CRI-v1alpha2接口]({{< relref "./docs/Container/CRI-v1alpha2接口.md" >}}) + - [CRI-v1接口]({{< relref "./docs/Container/CRI-v1接口.md" >}}) + - [镜像管理]({{< relref "./docs/Container/镜像管理.md" >}}) + - [容器健康状态检查]({{< relref "./docs/Container/容器健康状态检查.md" >}}) + - [查询信息]({{< relref "./docs/Container/查询信息.md" >}}) + - [安全特性]({{< relref "./docs/Container/安全特性.md" >}}) + - [支持OCI hooks]({{< relref "./docs/Container/支持OCI-hooks.md" >}}) + - [本地卷管理]({{< relref "./docs/Container/本地卷管理.md" >}}) + - [iSulad shim v2 对接 StratoVirt]({{< relref "./docs/Container/iSula-shim-v2对接stratovirt.md" >}}) + - [iSulad支持cgroup v2]({{< relref "./docs/Container/iSulad支持cgroup v2.md" >}}) + - [iSulad支持CDI]({{< relref "./docs/Container/iSulad支持CDI.md" >}}) + - [iSulad支持NRI]({{< relref "./docs/Container/iSulad支持NRI.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Container/isula常见问题与解决方法.md" >}}) + - [附录]({{< relref "./docs/Container/附录.md" >}}) + - [系统容器]({{< relref "./docs/Container/系统容器.md" >}}) + - [安装指导]({{< relref "./docs/Container/安装指导.md" >}}) + - [使用指南]({{< relref "./docs/Container/使用指南-1.md" >}}) + - [指定rootfs创建容器]({{< relref "./docs/Container/指定rootfs创建容器.md" >}}) + - [通过systemd启动容器]({{< relref "./docs/Container/通过systemd启动容器.md" >}}) + - [容器内reboot/shutdown]({{< relref "./docs/Container/容器内reboot-shutdown.md" >}}) + - [cgroup路径可配置]({{< relref "./docs/Container/cgroup路径可配置.md" >}}) + - [namespace化内核参数可写]({{< relref "./docs/Container/namespace化内核参数可写.md" >}}) + - [共享内存通道]({{< relref "./docs/Container/共享内存通道.md" >}}) + - [动态加载内核模块]({{< relref "./docs/Container/动态加载内核模块.md" >}}) + - [环境变量持久化]({{< relref "./docs/Container/环境变量持久化.md" >}}) + - [最大句柄数限制]({{< relref "./docs/Container/最大句柄数限制.md" >}}) + - [安全性和隔离性]({{< relref "./docs/Container/安全性和隔离性.md" >}}) + - [容器资源动态管理]({{< relref "./docs/Container/容器资源动态管理.md" >}}) + - [附录]({{< relref "./docs/Container/附录-2.md" >}}) + - [安全容器]({{< relref "./docs/Container/安全容器.md" >}}) + - [安装与配置]({{< relref "./docs/Container/安装与配置-2.md" >}}) + - [使用方法]({{< relref "./docs/Container/使用方法-1.md" >}}) + - [管理安全容器的生命周期]({{< relref "./docs/Container/管理安全容器的生命周期.md" >}}) + - [为安全容器配置资源]({{< relref "./docs/Container/为安全容器配置资源.md" >}}) + - [监控安全容器]({{< relref "./docs/Container/监控安全容器.md" >}}) + - [附录]({{< relref "./docs/Container/附录-3.md" >}}) + - [Docker容器]({{< relref "./docs/Container/Docker容器.md" >}}) + - [安装配置]({{< relref "./docs/Container/安装配置-3.md" >}}) + - [容器管理]({{< relref "./docs/Container/容器管理-3.md" >}}) + - [镜像管理]({{< relref "./docs/Container/镜像管理-3.md" >}}) + - [命令行参考]({{< relref "./docs/Container/命令行参考.md" >}}) + - [容器引擎]({{< relref "./docs/Container/容器引擎-4.md" >}}) + - [容器管理]({{< relref "./docs/Container/容器管理-4.md" >}}) + - [镜像管理]({{< relref "./docs/Container/镜像管理-4.md" >}}) + - [统计信息]({{< relref "./docs/Container/统计信息-4.md" >}}) + - [Docker常见问题与解决方法]({{< relref "./docs/Container/Docker常见问题与解决方法.md" >}}) + - [容器镜像构建]({{< relref "./docs/Container/isula-build构建工具.md" >}}) + - [使用指南]({{< relref "./docs/Container/isula-build使用指南.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Container/isula-build常见问题与解决方法.md" >}}) + - [附录]({{< relref "./docs/Container/isula-build附录.md" >}}) + - [Kuasar多沙箱容器运行时]({{< relref "./docs/Container/kuasar多沙箱运行时.md" >}}) + - [安装与配置]({{< relref "./docs/Container/kuasar安装与配置.md" >}}) + - [使用指南]({{< relref "./docs/Container/kuasar使用指南.md" >}}) + - [附录]({{< relref "./docs/Container/kuasar附录.md" >}}) + - [容器OS升级用户指南]({{< relref "./docs/KubeOS/overview.md" >}}) + - [认识容器OS升级]({{< relref "./docs/KubeOS/认识容器OS升级.md" >}}) + - [安装与部署]({{< relref "./docs/KubeOS/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/KubeOS/使用方法.md" >}}) + - [容器OS镜像制作指导]({{< relref "./docs/KubeOS/容器OS镜像制作指导.md" >}}) + - [Kubernetes集群部署指南]({{< relref "./docs/Kubernetes/Kubernetes.md" >}}) + - [准备虚拟机]({{< relref "./docs/Kubernetes/准备虚拟机.md" >}}) + - [手动部署集群]({{< relref "./docs/Kubernetes/手动部署集群.md" >}}) + - [安装Kubernetes软件包]({{< relref "./docs/Kubernetes/安装Kubernetes软件包.md" >}}) + - [准备证书]({{< relref "./docs/Kubernetes/准备证书.md" >}}) + - [安装etcd]({{< relref "./docs/Kubernetes/安装etcd.md" >}}) + - [部署控制面组件]({{< relref "./docs/Kubernetes/部署控制面组件.md" >}}) + - [部署Node节点组件]({{< relref "./docs/Kubernetes/部署Node节点组件.md" >}}) + - [自动部署集群]({{< relref "./docs/Kubernetes/eggo自动化部署.md" >}}) + - [工具介绍]({{< relref "./docs/Kubernetes/eggo工具介绍.md" >}}) + - [部署集群]({{< relref "./docs/Kubernetes/eggo部署集群.md" >}}) + - [拆除集群]({{< relref "./docs/Kubernetes/eggo拆除集群.md" >}}) + - [运行测试pod]({{< relref "./docs/Kubernetes/运行测试pod.md" >}}) + - [基于containerd部署集群]({{< relref "./docs/Kubernetes/Kubernetes集群部署指南 - containerd.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Kubernetes/kubernates常见问题与解决方法.md" >}}) + - [iSulad+k8s集群部署]({{< relref "./docs/ClusterDeployment/iSulad+k8s集群部署.md" >}}) + - [iSulad+k8s环境部署]({{< relref "./docs/ClusterDeployment/iSulad+k8s环境部署.md" >}}) + - [gitlab部署]({{< relref "./docs/ClusterDeployment/gitlab部署.md" >}}) + - [gitlab-runner部署]({{< relref "./docs/ClusterDeployment/gitlab-runner部署.md" >}}) + - [云原生混合部署rubik用户指南]({{< relref "./docs/rubik/overview.md" >}}) + - [安装与部署]({{< relref "./docs/rubik/安装与部署.md" >}}) + - [http接口文档]({{< relref "./docs/rubik/http接口文档.md" >}}) + - [混部隔离示例]({{< relref "./docs/rubik/混部隔离示例.md" >}}) + - [NestOS云底座操作系统]({{< relref "./docs/NestOS/overview.md" >}}) + - [NestOS For Container用户指南]({{< relref "./docs/NestOS/NestOS For Container用户指南.md" >}}) + - [功能特性描述]({{< relref "./docs/NestOS/功能特性描述.md" >}}) + - [CTinspector用户指南]({{< relref "./docs/CTinspector/认识CTinspector.md" >}}) + - [安装与部署]({{< relref "./docs/CTinspector/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/CTinspector/使用方法.md" >}}) + - [CPDS用户指南]({{< relref "./docs/CPDS/CPDS用户指南.md" >}}) + - [CPDS介绍]({{< relref "./docs/CPDS/CPDS介绍.md" >}}) + - [安装与部署]({{< relref "./docs/CPDS/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/CPDS/使用手册.md" >}}) + - [PilotGo用户指南]({{< relref "./docs/PilotGo/pilotgo介绍.md" >}}) + - [使用方法]({{< relref "./docs/PilotGo/使用手册.md" >}}) + - [Kmesh用户指南]({{< relref "./docs/Kmesh/Kmesh.md" >}}) + - [认识Kmesh]({{< relref "./docs/Kmesh/认识Kmesh.md" >}}) + - [安装与部署]({{< relref "./docs/Kmesh/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/Kmesh/使用方法.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/Kmesh/常见问题与解决方法.md" >}}) + - [附录]({{< relref "./docs/Kmesh/附录.md" >}}) + - [Autopkg用户指南]({{< relref "./docs/Autopkg/autopkg.md" >}}) +- [边缘计算](#) + - [KubeEdge部署指南]({{< relref "./docs/KubeEdge/overview.md" >}}) + - [KubeEdge使用文档]({{< relref "./docs/KubeEdge/KubeEdge使用文档.md" >}}) + - [KubeEdge部署指南]({{< relref "./docs/KubeEdge/KubeEdge部署指南.md" >}}) + - [K3s部署指南]({{< relref "./docs/K3s/K3s部署指南.md" >}}) + - [ROS用户指南]({{< relref "./docs/ROS/ROS用户指南.md" >}}) + - [认识ROS]({{< relref "./docs/ROS/认识ROS.md" >}}) + - [安装与部署]({{< relref "./docs/ROS/安装与部署.md" >}}) + - [使用方法]({{< relref "./docs/ROS/使用方法.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/ROS/常见问题与解决方法.md" >}}) + - [附录]({{< relref "./docs/ROS/附录.md" >}}) +- [openEuler DevKit](#) + - [isocut 使用指南]({{< relref "./docs/TailorCustom/isocut使用指南.md" >}}) + - [imageTailor 使用指南]({{< relref "./docs/TailorCustom/imageTailor使用指南.md" >}}) + - [GCC插件框架特性用户指南]({{< relref "./docs/Pin/插件框架特性用户指南.md" >}}) + - [Migration-tools使用指南]({{< relref "./docs/Migration-tools/用户指南.md" >}}) + - [EulerLauncher 用户指南]({{< relref "./docs/EulerLauncher/overall.md" >}}) + - [在Windows下安装与运行EulerLauncher]({{< relref "./docs/EulerLauncher/win-user-manual.md" >}}) + - [在MacOS下安装与运行EulerLauncher]({{< relref "./docs/EulerLauncher/mac-user-manual.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/TailorCustom/常见问题与解决方法.md" >}}) +- [openEuler DevOps](#) + - [patch-tracking]({{< relref "./docs/userguide/patch-tracking.md" >}}) + - [pkgship]({{< relref "./docs/userguide/pkgship.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/userguide/常见问题与解决方法.md" >}}) +- [AI](#) + - [openEuler Copilot System]({{< relref "./docs/AI/openEuler_Copilot_System/README.md" >}}) + - [使用指南](#) + - [Gitee AI 线上服务](#) + - [前言]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/线上服务/前言.md" >}}) + - [注册与登录]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/线上服务/注册与登录.md" >}}) + - [智能问答使用指南]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/线上服务/智能问答使用指南.md" >}}) + - [智能插件简介]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/线上服务/智能插件简介.md" >}}) + - [命令行客户端](#) + - [获取 API Key]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/命令行客户端/获取 API Key.md" >}}) + - [命令行助手使用指南]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/命令行客户端/命令行助手使用指南.md" >}}) + - [智能调优]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/命令行客户端/智能调优.md" >}}) + - [智能诊断]({{< relref "./docs/AI/openEuler_Copilot_System/使用指南/命令行客户端/智能诊断.md" >}}) + - [部署指南](#) + - [网络环境下部署指南]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/网络环境下部署指南.md" >}}) + - [无网络环境下部署指南]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/无网络环境下部署指南.md" >}}) + - [本地资产库构建指南]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/本地资产库构建指南.md" >}}) + - [插件部署指南](#) + - [智能调优]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/插件部署指南/智能调优/插件—智能调优部署指南.md" >}}) + - [智能诊断]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/插件部署指南/智能诊断/插件—智能诊断部署指南.md" >}}) + - [AI容器栈]({{< relref "./docs/AI/openEuler_Copilot_System/部署指南/插件部署指南/AI容器栈/插件—AI容器栈部署指南.md" >}}) + - [AI大模型服务镜像使用指南]({{< relref "./docs/AI/AI大模型服务镜像使用指南.md" >}}) + - [AI容器镜像用户指南]({{< relref "./docs/AI/AI容器镜像用户指南.md" >}}) +- [应用开发](#) + - [应用开发指南]({{< relref "./docs/ApplicationDev/application-development.md" >}}) + - [开发环境准备]({{< relref "./docs/ApplicationDev/开发环境准备.md" >}}) + - [使用GCC编译]({{< relref "./docs/ApplicationDev/使用GCC编译.md" >}}) + - [使用Clang编译]({{< relref "./docs/ApplicationDev/使用Clang编译.md" >}}) + - [使用make编译]({{< relref "./docs/ApplicationDev/使用make编译.md" >}}) + - [使用JDK编译]({{< relref "./docs/ApplicationDev/使用JDK编译.md" >}}) + - [构建RPM包]({{< relref "./docs/ApplicationDev/构建RPM包.md" >}}) + - [常见问题与解决方法]({{< relref "./docs/ApplicationDev/常见问题与解决方法.md" >}}) + - [GCC用户指南]({{< relref "./docs/GCC/overview.md" >}}) + - [内核反馈优化特性用户指南]({{< relref "./docs/GCC/内核反馈优化特性用户指南.md" >}}) + - [链接时优化特性用户指南]({{< relref "./docs/GCC/链接时优化特性用户指南.md" >}}) + - [GCC基础性能优化特性用户指南]({{< relref "./docs/GCC/GCC基础性能优化特性用户指南.md" >}})