当前位置: 首页 > article >正文

OpenShift CLI (oc)客户端安装以及常用命令

oc 是 OpenShift 的命令行客户端基于 Kubernetes 的 kubectl 构建并扩展了许多 OpenShift 特有的功能如构建、部署配置、路由、镜像流等。无论你是开发人员还是集群管理员oc 都是与 OpenShift 交互的核心工具1. 安装 oc 客户端1.1 从红帽官网下载访问 OpenShift 下载页面选择对应操作系统的客户端Linuxopenshift-client-linux.tar.gz macOSopenshift-client-mac.tar.gz Windowsopenshift-client-windows.zip解压后将 oc 二进制文件放到 PATH 环境变量包含的目录中如 /usr/local/bin。1.2 使用包管理器Linux/macOSmacOS Homebrewbrewinstallopenshift-cliLinux (RHEL/CentOS)sudoyuminstallopenshift-clients1.3 验证安装oc version输出示例Client Version: 4.14.0-202403150918 Kubernetes Version: v1.27.62. 登录集群2.1 使用 kubeadmin 登录集群安装后oc login-ukubeadmin-ppasswordhttps://api.ocp4.example.com:6443密码可在安装目录的 auth/kubeadmin-password 文件中找到。2.2 使用 OAuth 用户登录通过浏览器登录 OpenShift Web 控制台后可在右上角用户菜单中点击 “Copy Login Command”获得一个带有令牌的 oc login 命令直接粘贴执行即可。2.3 检查当前上下文ocwhoami# 显示当前用户ocwhoami--show-server# 显示当前集群 API 地址oc config view# 查看 kubeconfig 配置3. 基础概念与常用命令OpenShift 资源类型与 Kubernetes 基本一致但多了 BuildConfig、DeploymentConfig、Route、ImageStream 等专有资源。oc 命令格式一般为oc动作资源类型资源名称[选项]3.1 命名空间/项目OpenShift 中用 项目 (Project) 表示 Kubernetes 的命名空间但增加了额外的注解。# 查看所有项目oc get projects# 切换到指定项目oc project my-project# 创建项目oc new-project my-project --display-nameMy Project--descriptionTest project# 查看当前项目oc project3.2 查看资源# 查看所有 Podoc get pods# 查看所有 Deploymentoc get deploy# 查看所有 Serviceoc get svc# 查看所有 RouteOpenShift 的 Ingress 替代oc get route# 查看所有资源包括自定义资源oc get all# 查看特定 Pod 的详细信息oc describe podpod-name# 以 YAML 格式输出资源oc get podpod-name-oyaml3.3 创建资源# 通过 YAML 文件创建oc apply-fmy-resource.yaml# 直接运行一个 Pod快速测试oc run test-pod--imagenginx--restartNever# 暴露一个 Deployment 创建 Serviceoc expose deployment my-app--port80803.4删除资源bashoc delete podpod-nameoc delete deploymentdeploy-name# 根据标签删除oc delete pods-lappmyapp3.5 编辑资源oc edit deployment my-app会打开默认编辑器保存后自动更新。4. 应用部署与管理OpenShift 提供了强大的构建和部署功能oc 对此有专门的支持。4.1 从源代码部署S2I# 使用 Java S2I 构建器从 Git 仓库部署应用oc new-app registry.access.redhat.com/ubi8/openjdk-11~https://github.com/your/repo.git--namemy-java-app此命令会自动创建 BuildConfig 和 ImageStream触发构建生成镜像创建 DeploymentConfig 和 Service4.2 查看构建和部署状态# 查看构建oc get builds oc logs build/build-name# 查看部署oc get deploymentconfigs oc rollout status dc/my-java-app# 触发新的部署修改镜像或配置后oc rollout latest dc/my-java-app4.3 暴露服务供外部访问# 为 Service 创建 Routeoc exposeservicemy-java-app--hostnamemyapp.apps.ocp4.example.com# 如果不指定 hostname会自动生成域名*.apps 通配符oc exposeservicemy-java-app# 查看 Route 地址oc get route4.4 扩缩容# 手动扩缩 Deploymentoc scale deployment my-java-app--replicas5# 扩缩 DeploymentConfigoc scaledcmy-java-app--replicas54.5 更新镜像# 直接修改 Deployment 的镜像ocsetimage deployment/my-java-app my-java-appmyregistry/myimage:latest# 对于 DeploymentConfig使用 oc tag 触发新构建oc tag my-image-stream:latest my-java-app:latest5. 配置与存储5.1 ConfigMap 管理# 从字面值创建oc create configmap app-config --from-literalkey1value1 --from-literalkey2value2# 从文件创建oc create configmap app-properties --from-fileapplication.properties# 查看 ConfigMapoc get configmap app-config-oyaml# 在 Pod 中挂载 ConfigMap通过修改 Deployment 添加卷ocsetvolumes deployment/my-app--add--nameconfig --mount-path/config --configmap-nameapp-config5.2 Secret 管理# 创建通用 Secretoc create secret generic db-secret --from-literalpasswordmypassword# 创建镜像拉取 Secretoc create secret docker-registry myregistrykey --docker-servermyregistry.com --docker-usernameuser --docker-passwordpass# 在 ServiceAccount 中使用镜像拉取 Secretoc patch serviceaccount default-p{imagePullSecrets: [{name: myregistrykey}]}5.3 PersistentVolumeClaim# 创建 PVCcatEOF|oc apply-f-apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi EOF# 在 Pod 中挂载 PVCocsetvolumes deployment/my-app--add--namedata --mount-path/data --claim-namemy-pvc6. 日志与调试6.1 查看容器日志# 查看 Pod 日志oc logs my-pod# 持续跟踪日志oc logs-fmy-pod# 查看特定容器的日志多容器 Podoc logs my-pod-cmy-container# 查看前一个实例的日志容器重启后oc logs--previousmy-pod6.2 进入容器执行命令# 启动交互式 Shellocexec-itmy-pod -- /bin/bash# 执行单条命令ocexecmy-pod --ls-l6.3 端口转发将本地端口转发到 Pod 的端口便于调试oc port-forward pod/my-pod8080:80访问 http://localhost:8080 即可连接到 Pod 的 80 端口。6.4 复制文件到/从 Pod# 从本地复制到 Podoccp/local/file my-pod:/remote/path# 从 Pod 复制到本地occpmy-pod:/remote/file /local/path7. 高级功能7.1 使用模板 (Template)OpenShift 模板允许你将多个资源定义打包通过参数化快速部署。# 从模板实例化应用oc new-app--templatepostgresql-persistent--paramDATABASE_SERVICE_NAMEmydb--paramPOSTGRESQL_USERuser# 查看可用模板oc get templates-nopenshift7.2 镜像流 (ImageStream)镜像流是 OpenShift 特有的抽象用于跟踪镜像更新。# 创建镜像流oc create imagestream myapp# 标记外部镜像到镜像流oc tag docker.io/library/nginx:latest myapp:latest# 查看镜像流标签oc describe is myapp7.3 角色与权限管理# 给用户添加查看权限oc policy add-role-to-user view myuser-nmyproject# 给 ServiceAccount 添加权限oc policy add-role-to-user edit system:serviceaccount:myproject:default# 查看当前用户的权限oc policy can-i create pods7.4监控与指标bash# 查看节点资源使用情况oc admtopnodes# 查看 Pod 资源使用oc admtoppods# 需要先部署 Metrics Server 或 Heapster8. 常用快捷命令与技巧目的命令查看所有资源包含路由oc get all持续观察资源变化oc get pods -w根据标签筛选oc get pods -l appmyapp显示 Pod 的 IP 和节点oc get pods -o wide输出 YAML 并编辑oc get pod mypod -o yaml导出资源到文件oc get pod mypod -o yaml删除所有失败Pod oc delete pods --field-selector status.phaseFailed查看 API 资源列表oc api-resources查看某个资源的字段说明oc explain pod.spec.containers9. oc 与 kubectl 的关系oc 是 kubectl 的超集所有 kubectl 命令都可以用 oc 执行oc get pods 等同于 kubectl get pods。oc 增加了 OpenShift 特有资源如 BuildConfig、DeploymentConfig、Route、ImageStream的支持。oc 提供了更简洁的应用部署命令如 oc new-app适合开发人员快速上手。在纯 Kubernetes 环境中oc 依然可用但部分 OpenShift 特有命令会报错。如果你习惯 kubectl可以继续使用但建议在 OpenShift 环境中使用 oc 以获得完整体验。10. 实战演练部署一个 Java 应用结合之前的私有云场景用 oc 部署一个 Spring Boot 应用# 1. 登录集群oc login-ukubeadmin-ppasshttps://api.ocp4.example.com:6443# 2. 创建项目oc new-project my-java-demo# 3. 使用 S2I 从 Git 仓库部署oc new-app registry.access.redhat.com/ubi8/openjdk-11~https://github.com/your/spring-boot-app.git--namespring-app# 4. 查看构建日志oc logs-fbc/spring-app# 5. 暴露服务oc exposeservicespring-app# 6. 获取访问地址oc get route spring-app# 7. 测试curlhttp://spring-app-my-java-demo.apps.ocp4.example.com/hello# 8. 扩缩容oc scale deployment/spring-app--replicas3# 9. 查看 Pod 状态oc get pods-w# 10. 清理oc delete project my-java-demo11. 进一步学习内置帮助oc help、oc --helpOpenShift 官方文档CLI 工具红帽开发者教程 OpenShift 互动学习

相关文章:

OpenShift CLI (oc)客户端安装以及常用命令

oc 是 OpenShift 的命令行客户端,基于 Kubernetes 的 kubectl 构建,并扩展了许多 OpenShift 特有的功能(如构建、部署配置、路由、镜像流等)。无论你是开发人员还是集群管理员,oc 都是与 OpenShift 交互的核心工具 1.…...

深度解析:如何利用Gemini百万级长上下文处理复杂文档?技术原理与实战指南

在众多AI模型中,Gemini 1.5 Pro的百万级上下文窗口堪称技术突破。这项能力让AI从“对话工具”跃升为“深度分析师”。本文将从技术原理入手,结合实战案例,拆解如何利用这一能力处理长篇文档、复杂财报、代码库等任务,并介绍国内用…...

鹤岗朋友圈广告投放

在当今数字化时代,朋友圈广告成为了企业营销的重要手段之一,鹤岗地区也不例外。今天咱们就来聊聊鹤岗朋友圈广告投放那些事儿,同时看看长春央企贝力公司在其中能发挥怎样的作用。鹤岗朋友圈广告投放现状行业报告显示,近年来鹤岗地…...

关于 git

修改远程仓库的URL&#xff1a;git remote set-url origin <新仓库地址>...

资源加速通道:百度网盘高效下载解决方案与实践指南

资源加速通道&#xff1a;百度网盘高效下载解决方案与实践指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在数字化协作日益频繁的今天&#xff0c;云存储服务已成为信息传…...

解锁3大核心优势:GHelper华硕ROG笔记本优化工具完全指南

解锁3大核心优势&#xff1a;GHelper华硕ROG笔记本优化工具完全指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地…...

直链提取技术:突破网盘限制的高效文件获取方案

直链提取技术&#xff1a;突破网盘限制的高效文件获取方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在数字化协作时代&#xff0c;文件传输效率直接影响工作节奏。百度网…...

3倍效率提升:哔哩下载姬让B站视频获取成本降低67%的全场景解决方案

3倍效率提升&#xff1a;哔哩下载姬让B站视频获取成本降低67%的全场景解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去…...

ComfyUI-VideoHelperSuite:AI视频工作流的效率革命与实践指南

ComfyUI-VideoHelperSuite&#xff1a;AI视频工作流的效率革命与实践指南 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 内容导航图 核心价值 ├── 用户痛点解…...

构建个人游戏串流中心:Sunshine技术解析与实践指南

构建个人游戏串流中心&#xff1a;Sunshine技术解析与实践指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine …...

3.13复试四道

1.这一题总体上是很简单的&#xff0c;但是一定要知道怎么找最大公约数//求最大公约数的函数int gcd(int a,int d){while(b){int ta%b;ab;bt;}return a;}1.做了巨久&#xff0c;主要是要分析规则的边界条件&#xff0c;实际就是到了11或21分后&#xff0c;分差大于等于2就结束一…...

喜报 | 技术创新与国际合规双突破!博睿数据再筑核心竞争力护城河

近日&#xff0c;博睿数据三项自主研发核心技术正式获得国家发明专利授权&#xff0c;同时顺利通过五大 ISO 国际标准体系认证。此次技术与合规领域的双突破&#xff0c;既是对博睿数据持续深耕自主创新、筑牢技术壁垒的权威认可&#xff0c;也标志着公司在企业管理、信息安全、…...

告别“直觉编程”:OpenSpec 规范驱动开发 (SDD) 工作流完全指南

在 AI 辅助编程时代&#xff0c;我们常常面临一个痛点&#xff1a;当你让 AI 开发一个复杂功能时&#xff0c;它一开始表现得很聪明&#xff0c;但随着对话轮数的增加&#xff0c;它开始遗忘上下文、偏离需求&#xff0c;最终陷入胡乱猜测的**“直觉编程” (Vibe Coding)** 陷阱…...

B2B案例资产化方法:把“客户成功”写成可复制的信任资产(附六段复盘模板)

先给结论&#xff1a;B2B案例要想真正带动下一单&#xff0c;重点不是把项目过程写全&#xff0c;而是把“客户为什么敢用你”写清楚。这意味着案例写作要从“成果展示”升级为“决策机制复盘”。【定义】B2B案例资产化&#xff0c;是指把客户为什么敢选、如何内部推进、如何验…...

Linux内核态与用户态

Linux内核态与用户态 一、特权级别架构基础 现代x86-64架构&#xff08;Linux 5.15-6.2内核&#xff09;实现了四级特权环&#xff08;Ring 0-3&#xff09;&#xff0c;但Linux仅使用其中两个关键级别&#xff1a;Ring 0&#xff08;内核态&#xff09;&#xff1a; 完全硬件访…...

基于用户行为的动态标签与SOP触发引擎

一、问题背景技术背景说明教育私域运营中&#xff0c;用户从加好友到正价课成交通常经历多个阶段&#xff1a;兴趣期→咨询期→试听期→犹豫期→成交期。每个阶段需要不同的运营策略。例如&#xff1a;咨询3次未购买 → 标记“高意向-未转化”并推送限时优惠试听完成3天未购课 …...

WorkBuddy,是腾讯最近推出的一款 AI 桌面智能体

你提到的 **WorkBuddy**&#xff0c;是腾讯最近推出的一款 **AI 桌面智能体**&#xff0c;被大家戏称为 **“腾讯版小龙虾”**。简单说&#xff0c;它就像你电脑里的一个“数字同事”&#xff0c;能听懂人话&#xff0c;并直接操作电脑帮你干活。它最核心的特点是**免部署、开箱…...

无向图DFS、BFS生成树,ABC251F

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://atcoder.jp/contests/abc251/tasks/abc251_f 二、解题报告 1、思…...

高校科研管理如何提升成果转化效率?

观点作者&#xff1a;科易网-AI技术转移与科技创新数智化服务平台 在当前数智时代背景下&#xff0c;高校和科研院所作为科技创新的重要源头&#xff0c;其科技成果的转化效率直接关系到国家创新驱动发展战略的成效。然而&#xff0c;长期以来&#xff0c;高校科研成果转化面临…...

CompletableFuture:异步编程的“智能机械臂”

机械臂这个词很亲切&#xff0c;这可是上家公司我们的仓储物流系统大功臣&#xff01;如果说 Future 是一个只会让你“傻等”的取餐牌&#xff08;拿到牌 -> 去旁边站着 -> 叫号了去取&#xff09;&#xff0c;那么 CompletableFuture 就是工厂里的智能流水线机械臂传统 …...

一天生成100条带货视频,ai短视频新生产力工具——LinkPix

随着人工智能技术的飞速发展&#xff0c;AI短视频生成工具已经不再是极客玩家的玩具&#xff0c;而是真正渗透进了电商、内容创作、广告营销等各个领域的日常工作中。从2024年到2026年&#xff0c;这个赛道经历了从“能生成视频”到“能生成好视频”&#xff0c;再到“能高效落…...

docker部署New-API

Docker 部署 New-API&#xff1a;OpenClaw 虾粮管理不再愁&#xff0c;一站式搞定多 AI 模型接口聚合与管控 近期 OpenClaw 的爆火&#xff0c;让不少朋友体验到了 AI Agent 的强大与便捷。但随之而来的却是现实的痛点&#xff1a;为了降低使用成本&#xff0c;很多朋友会从各…...

2026首版次高端软件申报全流程指南:中承信安权威解析

对于国内深耕自主研发的软件企业而言&#xff0c;自主研发的高端软件产品&#xff0c;不仅是企业核心竞争力的核心载体&#xff0c;更能通过首版次高端软件申报&#xff0c;获得真金白银的政策补贴、官方资质背书与市场竞争力的双重提升。但不少企业面临政策解读不到位、申报范…...

横波直探头接收信号示意图](placeholder_waveform.png

comsol压电横波直探头 使用pzt4做的横波直探头&#xff0c;在钢中激励1MHz的横波。 自发自收模式&#xff0c;接收信号如图。做超声检测的兄弟们都清楚&#xff0c;钢构件探伤最怕遇到倾斜缺陷。这时候传统的纵波探头就有点捉襟见肘了&#xff0c;像我们车间最近遇到的T型焊缝检…...

无极调速数控车床主轴箱装配图CAD图纸

无极调速数控车床主轴箱装配图CAD图纸是机械设计与制造领域的重要学习资料&#xff0c;其核心作用在于通过标准化图形语言精确描述主轴箱各部件的装配关系与空间布局。主轴箱作为数控车床的动力核心&#xff0c;其结构设计的合理性直接影响加工精度与运行稳定性。装配图通过分解…...

Springboot养老服务管理系统c0t92vu6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能 老人&#xff0c;家属&#xff0c;护理人员&#xff0c;服务分类&#xff0c;老人信息&#xff0c;服务信息&#xff0c;预约信息&#xff0c;意见反馈&#xff0c;健康记录&#xff0c;生活习惯&#xff0c;健康方案&#xff0c;护理记录&#xff…...

如何运用长尾关键词策略提升SEO效果的实用方法与案例分析

本文将探讨长尾关键词策略在SEO中的重要性和应用。通过分析用户的搜索行为和需求&#xff0c;长尾关键词能够有效提升网站的搜索引擎排名。文中将介绍如何进行长尾关键词的研究&#xff0c;包括使用工具挖掘相关的关键词和短语。此外&#xff0c;文章还会分享优化网站内容的方法…...

二分查找--折半查找--看完这篇学不会你来打我

二分查找前言 二分查找(binary search) 也叫折半查找&#xff0c;是一种在有序数组中基于分治策略的高效搜索算法&#xff0c;因为它的有序性&#xff0c;使得我们可以用 “减而治之” 的策略来进行查找。 本文将大家讲一下二分查找的原理和代码 1为什么要用二分查找 1.1顺序查…...

无套路垃圾分类房定制

最近跟几个做社区管理的朋友聊天&#xff0c;都在吐槽垃圾分类房那点事儿。 “说是定制&#xff0c;结果送来跟隔壁小区一模一样&#xff0c;就换了个logo。” “用了半年&#xff0c;门坏了三次&#xff0c;厂家推来推去没人修。” “合同里藏了一堆增项&#xff0c;最后比预算…...

1.4 Logical Database Design (Mapping ER model to Relational Model) 数据库第一周

Mapping ER model concepts to relations • Entity • Binary 1:1, 1:m, m:m relationships • Complex relationships • Multi-valued attributesEntity• For each entity: • create a relation that includes all the attributes of that entity. • For composite attri…...