
OpenShift Origin是Kubernetes的发行版,针对持续应用开发和多租户部署进行了优化。它在Kubernetes基础上添加了以开发者和运维为中心的工具,支持小型和大型团队实现快速应用开发、轻松部署与扩展,以及长期的生命周期维护。
如果已从https://github.com/openshift/origin/releases%E4%B8%8B%E8%BD%BD%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%B7%A5%E5%85%B7%EF%BC%8C%E5%B0%86%E5%8C%85%E5%90%AB%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E6%B7%BB%E5%8A%A0%E5%88%B0PATH%E4%B8%AD%E3%80%82
oc cluster up立即启动OpenShift围绕Docker容器和Kubernetes运行时概念构建了以开发者为中心的工作流:
有关OpenShift基础概念的更多信息,请参见文档站点。
每个服务器上的OpenShift API位于https://<host>:8443/oapi/v1。这些API通过Swagger v1.2在https://<host>:8443/swaggerapi/oapi/v1进行描述。更多信息请参见API文档。
OpenShift嵌入Kubernetes并通过安全和其他集成概念对其进行扩展。OpenShift Origin版本对应于Kubernetes发行版(例如,OpenShift 1.4包含Kubernetes 1.4)。
有关Kubernetes使用或Origin依赖的底层概念的更多信息,请参见:
OpenShift设计用于运行任何现有Docker镜像。此外,您可以定义使用Dockerfile生成新Docker镜像的构建。
为简化源代码运行体验,https://github.com/openshift/source-to-image%E5%85%81%E8%AE%B8%E5%BC%80%E5%8F%91%E8%80%85%E5%8F%AA%E9%9C%80%E6%8F%90%E4%BE%9B%E5%8C%85%E5%90%AB%E4%BB%A3%E7%A0%81%E7%9A%84%E5%BA%94%E7%94%A8%E6%BA%90%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93%E5%8D%B3%E5%8F%AF%E6%9E%84%E5%BB%BA%E5%92%8C%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E9%80%9A%E8%BF%87%E5%B0%86%E7%8E%B0%E6%9C%89%E7%9A%84S2I%E5%90%AF%E7%94%A8Docker%E9%95%9C%E5%83%8F%E4%B8%8E%E5%BA%94%E7%94%A8%E6%BA%90%E4%BB%A3%E7%A0%81%E7%BB%93%E5%90%88%EF%BC%8C%E7%94%9F%E6%88%90%E6%96%B0%E7%9A%84%E5%8F%AF%E8%BF%90%E8%A1%8C%E5%BA%94%E7%94%A8%E9%95%9C%E5%83%8F%E3%80%82
可用的Source-to-Image构建器镜像包括:
应用镜像可通过以下数据库镜像轻松扩展数据库服务:
OpenShift默认运行以下安全策略:
builds/docker和builds/custom策略资源控制谁可以创建Docker构建许多Docker容器期望以root运行(因此可以编辑文件系统的所有内容)。镜像作者指南提供了使镜像默认更安全的建议:
如果运行自己的集群并希望容器以root运行,可通过以下命令授予当前项目中容器该权限:
bash# 授予当前项目中的默认服务账户访问以UID 0(root)运行的权限 oc adm add-scc-to-user anyuid -z default
有关限制应用的更多信息,请参见安全文档。
上游Kubernetes的某些特性尚未在OpenShift中启用,原因包括可支持性、安全性或上游特性的限制。
| 特性 | Kubernetes | OpenShift | 说明 |
|---|---|---|---|
| 第三方资源 | Alpha (1.4, 1.5) | Not Yet Secure | 第三方资源仍在 upstream 积极开发中;已知问题包括无法清理 etcd 中的资源,可能导致对集群的拒绝服务***;正在考虑仅为开发环境启用 |
| 垃圾回收 | Alpha (1.3) Beta (1.4, 1.5) | Tech Preview (1.4, 1.5) | 垃圾回收将自动删除服务器上的相关资源,因此考虑到潜在的数据丢失风险,在垃圾回收升级到Beta并经过完整发布周期测试后才会在Origin中启用 |
| Stateful Sets | Alpha (1.3, 1.4) Beta (1.5) | Tech Preview (1.3, 1.4, 1.5) | Stateful Sets仍在积极开发中,在1.5发布前不保证向后兼容性。从1.5开始,Stateful Sets将默认启用,并保证一定的向后兼容性 |
| Init Containers | Alpha (1.3, 1.4) Beta(1.5) | Tech Preview (1.3, 1.4, 1.5) | Init容器已正确保护,但在1.6之前不会正式支持 |
| 联邦集群 | Alpha (1.3) Beta (1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | Kubernetes联邦服务器可使用适当的凭据对Origin集群使用;已知问题包括联邦中的租户支持以及联邦和普通集群之间一致访问控制的能力;目前未分发Origin特定的联邦二进制文件 |
| Deployment | Beta (1.3, 1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | OpenShift推出了DeploymentConfigs,一个功能更全面的Deployment对象。DeploymentConfigs更适合开发者流程,可推送代码并自动部署,还提供更高级的钩子和自定义部署。当在OpenShift外部管理变更时使用Kubernetes Deployments |
| Replica Sets | Beta (1.3, 1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | Replica Sets执行与Replication Controllers相同的功能,但具有更强大的标签语法。两者均可使用 |
| Ingress | Beta (1.2, 1.3, 1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | OpenShift推出了Routes,一个功能更全面的Ingress对象。在1.5中,路由器可以读取Ingress规则(默认禁用),但由于Ingress对象引用密钥,必须授予路由器对集群的极高访问权限才能运行。未来变更可能会降低启用Ingress的安全影响 |
| PodSecurityPolicy | Beta (1.3, 1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | OpenShift推出了SecurityContextConstraints,然后将其上游化为PodSecurityPolicy。计划启用上游PodSecurityPolicy以自动迁移现有SecurityContextConstraints。PodSecurityPolicy尚未完成完整安全审查,这将是技术预览的标准之一。SecurityContextConstraints是PodSecurityPolicy功能的超集 |
| PodAntiAffinitySelectors | Beta (1.3, 1.4, 1.5) | Not Yet Secure (1.3) Tech Preview (1.4, 1.5) | 不允许终端用户设置非节点名称的PodAntiAffinitySelectors,因为可能通过拒绝服务***调度器 |
| NetworkPolicy | Beta (1.3, 1.4, 1.5) | Tech Preview (1.3, 1.4, 1.5) | 从1.5开始,OpenShift SDN将公开使用网络策略限制pod访问的实验模式。未来版本将扩展此支持 |
如本列表遗漏了Kubernetes支持但Origin中不运行的功能,请联系我们。
您可以在本地主机上开发或使用虚拟机,或者如果只想试用Origin,可以下载最新的Linux服务器或Windows和Mac OS X客户端预构建二进制文件。
首先,通过贡献指南启动并运行。
欢迎所有贡献 - Origin使用Apache 2许可证,不需要任何贡献者协议即可提交补丁。如遇到任何错误或问题,请打开issue,在OpenShift IRC频道(freenode上的#openshift-dev)提问,或参与容器运行时层的https://github.com/kubernetes/kubernetes%E3%80%82
有关Origin开发的更多详细信息,包括不同测试的设置方式,请参见https://github.com/openshift/origin/blob/master/HACKING.md%E3%80%82
如果要运行测试套件,请确保环境已设置,然后从origin目录运行:
bash# 运行验证器、单元测试和命令测试 $ make check # 运行命令行集成测试套件 $ hack/test-cmd.sh # 运行集成服务器测试套件 $ hack/test-integration.sh # 运行端到端测试套件 $ hack/test-end-to-end.sh # 运行上述所有测试 $ make test
集成和端到端测试需要安装etcd并将其添加到路径,端到端测试需要安装Docker。要安装etcd,可运行:
bash$ hack/install-etcd.sh
Origin的某些组件作为Docker镜像运行,包括images/builder/docker/*和images/deploy/*中的构建器和部署工具。要在本地构建它们,请运行:
bash$ hack/build-images.sh
要修改Web控制台,请查看assets/README.md文件,了解测试控制台和构建更改的说明。
如果发现要保密披露的安全问题,请联系Red Hat的产品安全团队。详情请访问[***]
OpenShift根据Apache License, Version 2.0许可。
如有问题或反馈,请通过Freenode上的IRC #openshift-dev或发送邮件至我们的邮件列表与我们联系。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务