Kubernetes 模式

    最小配置

    软件环境

    Kubernetes 模式需提前安装 Kubernetes 环境且配置了存储服务端,并创建了相应的存储类型,详见 。

    • 下载 OpenPitrix v0.4.1 的 Kubernetes 运行环境上的安装包并解压,例如下载至 Ubuntu 系统:
    • 解压文件并进入 scripts 目录:
    1. $ tar -zxf openpitrix-v0.4.1-kubernetes.tar.gz && cd openpitrix-v0.4.1-kubernetes/kubernetes/scripts

    OpenPitrix 管理的多云环境可以是 VM-based 的云平台,如 QingCloud、阿里云、AWS 等,也可以是容器管理平台,如 KubeSphere、 Kubernetes 等,参考如下步骤部署:

    • 执行安装脚本,升级基础服务,启动 Dashboard 服务,启动 Pilot 服务:
    1. $ ./deploy-k8s.sh -n openpitrix-system -a

    deploy-k8s.sh 用法说明:

    • 查看 Pilot 服务,以下可以看到两个端口,依次是 https 和 http 协议的端口,Pilot 服务 http 协议的 9114 端口对应的端口是 30119,需要将端口 30119 暴露给集群外部访问(可能需要端口转发和防火墙放行该端口,确保流量能够通过该端口):
    1. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    2. openpitrix-pilot-service NodePort 10.96.224.102 <none> 9110:31866/TCP, 9114:30119/TCP 5m
    • 修改 global_config.yaml 文件中的配置 global_config 下的 pilot_ippilot_port 为您实际的公网 IP (EIP) 和 Pilot 服务的端口号 (NodePort)。
    1. pilot:
    2. ip: 139.198.111.111 // 此处替换为您的公网 IP
    3. port: 30119 // 替换为您实际的 Pilot 服务端口
    4. ···
    • 执行以下命令更新 etcd 中的配置,需要保证在外网能访问到上述的 Pilot 服务:
    • 查看 Pods 的状态,如下图所示表示 Pods 状态正常。
    1. $ kubectl get pods -n openpitrix-system
    2. NAME READY STATUS RESTARTS AGE
    3. global-config-watcher-68ffbd57f9-gx5qw 1/1 Running 0 9h
    4. openpitrix-account-service-deployment-77c59bd58b-pwqd4 1/1 Running 5 9h
    5. openpitrix-am-db-init-job-np98f 0/1 Completed 0 9h
    6. openpitrix-am-service-deployment-775bd96cf4-mwjpg 1/1 Running 0 9h
    7. openpitrix-api-gateway-deployment-7c4fd4949c-5nxk6 1/1 Running 0 9h
    8. openpitrix-app-manager-deployment-7558858f94-f4jz5 1/1 Running 0 9h
    9. openpitrix-attachment-db-ctrl-job-jb9mr 0/1 Completed 0 9h
    10. openpitrix-attachment-manager-deployment-86f799bc4c-v9psz 1/1 Running 0 9h
    11. openpitrix-category-manager-deployment-796756f7-8r8k7 1/1 Running 0 9h
    12. openpitrix-cluster-db-ctrl-job-tckdv 0/1 Completed 0 9h
    13. openpitrix-cluster-manager-deployment-b54d558d5-4wlgr 1/1 Running 0 9h
    14. openpitrix-dashboard-deployment-5df748665c-qpj7c 1/1 Running 0 9h
    15. openpitrix-db-deployment-684db56447-669xm 1/1 Running 0 9h
    16. openpitrix-db-init-job-78hpk 0/1 Completed 0 9h
    17. openpitrix-etcd-deployment-7c4f8b6844-ptbnv 1/1 Running 0 9h
    18. openpitrix-iam-db-ctrl-job-2b5f8 0/1 Completed 5 9h
    19. openpitrix-im-db-ctrl-job-wjpmw 0/1 Completed 0 9h
    20. openpitrix-im-service-deployment-5ff897759b-kj2p9 1/1 Running 0 9h
    21. openpitrix-isv-db-ctrl-job-zrgkl 0/1 Completed 0 9h
    22. openpitrix-isv-manager-deployment-779d4dc596-srh5n 1/1 Running 0 9h
    23. openpitrix-job-db-ctrl-job-pxkqz 0/1 Completed 4 9h
    24. openpitrix-job-manager-deployment-6f4f5f765d-d8dkg 1/1 Running 0 9h
    25. openpitrix-minio-deployment-78dd6bc9c6-vtbxr 1/1 Running 0 9h
    26. openpitrix-notification-db-ctrl-job-6q7f9 0/1 Completed 5 9h
    27. openpitrix-notification-db-init-job-ppzr6 0/1 Completed 0 9h
    28. openpitrix-notification-deployment-67cf55786d-hppxh 1/1 Running 5 9h
    29. openpitrix-repo-db-ctrl-job-lh7pw 0/1 Completed 0 9h
    30. openpitrix-repo-indexer-deployment-67b84dc78c-jvvk6 1/1 Running 0 9h
    31. openpitrix-repo-manager-deployment-79f87bff94-49x9s 1/1 Running 0 9h
    32. openpitrix-rp-aliyun-deployment-59f997bb47-qvvjk 1/1 Running 0 9h
    33. openpitrix-rp-aws-deployment-7479c58c85-nfsqz 1/1 Running 0 9h
    34. openpitrix-rp-kubernetes-deployment-56bb587d55-wbcn5 1/1 Running 0 9h
    35. openpitrix-rp-manager-deployment-567756dd6d-tq6ch 1/1 Running 0 9h
    36. openpitrix-rp-qingcloud-deployment-6df7648ccf-ttcq2 1/1 Running 0 9h
    37. openpitrix-runtime-db-ctrl-job-79cp5 0/1 Completed 4 9h
    38. openpitrix-runtime-manager-deployment-68b96f958b-b999w 1/1 Running 0 9h
    39. openpitrix-task-db-ctrl-job-6l7cz 0/1 Completed 3 9h
    40. openpitrix-task-manager-deployment-5d745c7bfc-g57zf 1/1 Running 0 9h
    • 查看 Dashboard 服务暴露的端口。
    1. $ kubectl get service openpitrix-dashboard -n openpitrix-system
    2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    3. openpitrix-dashboard NodePort 10.233.21.57 <none> 80:31195/TCP,30300:30300/TCP 1h

    您可以通过浏览器,使用集群中任一节点的 IP 地址和端口号即 <NodeIP>:<NodePort> 可在集群内部访问 Dashboard,如

    若需要在外网访问,在云平台需要在端口转发规则中将上述的内网端口 31195 转发到源端口 31195,然后在防火墙开放这个源端口,确保外网流量可以通过该端口。

    然后可以通过 <EIP>:<NodePort> 的方式访问控制台,如:http://139.198.111.111:31195,即可进入 OpenPitrix dashboard。

    • OpenPitrix 部署成功后,点击右上角 登录,可使用下表管理员默认的用户名和密码登录 OpenPitrix 控制台体验,建议先参考 的示例文档,将帮助您快速上手 OpenPitrix。

      角色用户名密码
      管理员admin@op.com将生成在 kubernetes/iam-config/admin-password.txt 文件中,强烈建议您登陆后修改初始密码
    • 查看 API Gateway 服务。

    同上,可通过端口转发和开放防火墙后,即可在公网访问 Swagger UI 界面,如:http://139.198.111.111:31627/swagger-ui/。OpenPitrix API 文档请参考 。

    若需要卸载 OpenPitrix 清理环境,在 script 目录下执行 clean.sh 脚本,停止并删除 OpenPitrix 所有服务,删除 openpitrix-system 的 namespace,请谨慎操作。

    1. $ ./clean.sh -n openpitrix-system