1.5. 管理员CLI命令
1.5.1. 集群管理CLI命令
1.5.1.1. must-gather
批量收集有关集群当前状态的数据以供进行问题调试。
示例:收集调试信息
$ oc adm must-gather
1.5.1.2. top
显示服务器上资源的使用情况统计信息。
示例:显示Pod的CPU和内存使用情况
$ oc adm top pods
示例:显示镜像的使用情况统计信息
$ oc adm top images
1.5.2. 集群管理CLI命令
1.5.2.1. cordon
将节点标记为不可调度。手动将节点标记为不可调度将会阻止在此节点上调度任何新的pod,但不会影响节点上已存在的pod。
示例:将node1
标记为不可调度
$ oc adm cordon node1
1.5.2.2. drain
排空节点以准备进行维护。
示例:排空node1
$ oc adm drain node1
1.5.2.3. node-logs
显示并过滤节点日志。
示例:获取NetworkManager的日志
$ oc adm node-logs --role master -u NetworkManager.service
1.5.2.4. taint
更新一个或多个节点上的污点。
示例:添加污点以为一组用户指定一个节点
$ oc adm taint nodes node1 dedicated=groupName:NoSchedule
示例:使用 dedicated
从节点 node1
上删除污点
$ oc adm taint nodes node1 dedicated-
1.5.2.5. uncordon
将节点标记为可调度。
示例:将node1
标记为可调度
$ oc adm uncordon node1
1.5.3. 安全和策略CLI命令
1.5.3.1. certificate
批准或拒绝证书签名请求(CSR)。
示例:批准一个 CSR
$ oc adm certificate approve csr-sqgzp
1.5.3.2. groups
管理集群中的组。
示例:创建一个新组
$ oc adm groups new my-group
1.5.3.3. new-project
创建一个新项目并指定管理选项。
示例:使用节点选择器创建新项目
$ oc adm new-project myproject --node-selector='type=user-node,region=east'
1.5.3.4. pod-network
管理集群中的Pod网络。
示例:将project1和project2与其他非全局项目隔离
$ oc adm pod-network isolate-projects project1 project2
1.5.3.5. policy
管理集群上的角色和策略。
示例:为user1
用户添加所有项目的edit
角色
$ oc adm policy add-cluster-role-to-user edit user1
示例:把 privileged
安全上下文限制(scc)添加给一个服务账户
$ oc adm policy add-scc-to-user privileged -z myserviceaccount
1.5.4. 维护CLI命令
1.5.4.1. migrate
根据使用的子命令,将集群上的资源迁移到新版本或格式。
示例:执行所有存储对象的更新
$ oc adm migrate storage
示例:仅执行Pod的更新
$ oc adm migrate storage --include=pods
1.5.4.2. prune
从服务器中删除旧版本的资源。
示例:删除旧版本的构建,包括那些BuildConfigs已不存在的版本
$ oc adm prune builds --orphans
1.5.5. 配置CLI命令
1.5.5.1. create-api-client-config
创建用于连接服务器的客户端配置。这将创建一个文件夹,其中包含客户端证书,客户端密钥,服务器证书颁发机构和用于以提供的用户身份连接到主服务器(master)的kubeconfig
文件。
示例:为代理生成客户端证书
$ oc adm create-api-client-config \ --certificate-authority='/etc/origin/master/proxyca.crt' \ --client-dir='/etc/origin/master/proxy' \ --signer-cert='/etc/origin/master/proxyca.crt' \ --signer-key='/etc/origin/master/proxyca.key' \ --signer-serial='/etc/origin/master/proxyca.serial.txt' \ --user='system:proxy'
1.5.5.2. create-bootstrap-policy-file
创建默认引导策略。
示例:创建一个带有默认引导策略的名为policy.json
的文件
$ oc adm create-bootstrap-policy-file --filename=policy.json
1.5.5.3. create-bootstrap-project-template
创建引导程序项目模板。
示例:将YAML格式的引导项目模板输出到stdout
$ oc adm create-bootstrap-project-template -o yaml
1.5.5.4. create-error-template
创建用于自定义错误页面的模板。
示例:创建输出到stdout的错误页模板
$ oc adm create-error-template
1.5.5.5. create-kubeconfig
基于客户端证书创建基本的.kubeconfig
文件。
示例:使用提供的客户端证书创建.kubeconfig
文件
$ oc adm create-kubeconfig \ --client-certificate=/path/to/client.crt \ --client-key=/path/to/client.key \ --certificate-authority=/path/to/ca.crt
1.5.5.6. create-login-template
创建用于自定义登陆页面的模板。
示例:创建输出到stdout的登陆页模板
$ oc adm create-login-template
1.5.5.7. create-provider-selection-template
创建用于自定义供应商选择页面的模板。
示例:创建输出到stdout的供应商选择页模板
$ oc adm create-provider-selection-template
1.5.6. 其他管理员CLI命令
1.5.6.1. build-chain
输出构建的输入和依赖项。
示例: 输出perl
镜像流的依赖项
$ oc adm build-chain perl
1.5.6.2. completion
输出指定 shell 的 oc adm
命令的 shell 完成代码。
示例:显示Bash的oc adm
完成代码
$ oc adm completion bash
1.5.6.3. config
管理客户端配置文件。此命令与oc config
命令具有相同的作用。
示例:显示当前配置
$ oc adm config view
示例:切换到另外一个上下文
$ oc adm config use-context test-context
1.5.6.4. release
管理OpenShift Container Platform发布过程的各个方面,例如查看有关发布的信息或检查发布的内容。
示例:生成两个版本之间的 changelog 信息,并保存到changelog.md
$ oc adm release info --changelog=/tmp/git \ quay.io/openshift-release-dev/ocp-release:4.2.0-rc.7 \ quay.io/openshift-release-dev/ocp-release:4.2.0 \ > changelog.md
1.5.6.5. verify-image-signature
使用本地公共GPG密钥验证导入到内部 registry 的一个镜像的镜像签名。
示例:验证nodejs
镜像签名
$ oc adm verify-image-signature \ sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 \ --expected-identity 172.30.1.1:5000/openshift/nodejs:latest \ --public-key /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \ --save