版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章容器云技术7.14实战案例——开源企业容器云的业务系统运维目录2案例目标案例分析案例实施010203301案例目标学习目标掌握OpenShift集群的扩容了解OpenShift集群的节点管理与用户管理了解OpenShift集群的资源调度方式402案例分析学习目标规划节点基础准备502
案例分析1.
规划节点OpenShift集群各节点的规划见表:2.
基础准备OpenShift集群已部署成功。603案例实施学习目标安装配置CockpitOpenShift扩容OpenShift节点管理OpenShift用户及权限管理OpenShift
Project管理OpenShift
Pod管理71.
基础环境配置(1)安装Cockpit在集群所有节点安装Cockpit以及Docker
Kubernetes插件。所有节点配置本地Yum源。03
案例实施#
yuminstall
-y
cockpit
cockpit-docker
cockpit-kubernetes#systemctl
enable
cockpit
&&systemctl
start
cockpit803
案例实施(2)访问Cockpit在浏览器输入https://master:9090/访问Cockpit。用户名和密码为master节点服务器的用户名及密码。92.
OpenShift扩容(1)基础环境配置新增节点node1(3)按步骤配置好基础环境和主机映射。03
案例实施10(2)配置Ansible登录Master节点更改/etc/ansible/hosts。03
案例实施[root@master~]#cat
/etc/ansible/hosts
[all]masternodenode1
#新增此行[OSEv3:children]
mastersnodesetcdnew_nodes
#新增角色1103
案例实施[OSEv3:vars]
ansible_ssh_user=rootopenshift_deployment_type=origin
openshift_release=3.11
openshift_enable_service_catalog=falseopenshift_clock_enabled=trueopenshift_master_identity_providers=[{'name':'htpasswd_auth',
'login':
'true','challenge':
'true',
'kind':'HTPasswdPasswordIdentityProvider'}]openshift_disable_check=disk_availability,docker_storage,memory_availability,
docker_image_availability1203
案例实施[masters]master
[etcd]
master
[nodes]masteropenshift_node_group_name='node-config-all-in-one'
nodeopenshift_node_group_name='node-config-compute'
[new_nodes]
#新增标签node1
openshift_node_group_name='node-config-compute'#新增此行13(3)扩容OpenShift03
案例实施[root@master~]#ansible-playbook/root/openshift-ansible/playbooks/openshift-node/scaleup.yml
[root@master
~]#
ocgetnodesNAMEmasterSTATUS ROLES AGE VERSIONReady compute,infra,master 2h v1.11.0+d4cacc01403
案例实施15(2)查看节点Pod信息03
案例实施16(3)隔离Node将Node设置为SchedulingDisabled。将Node设置为SchedulingDisabled。将Node设置为SchedulingDisabled。03
案例实施[root@master
~]#
oc
adm
cordonnode1#
ocadmmanage-node
<node1><node2>
--schedulable=false#
ocadmmanage-node
<node1><node2>--schedulable17(4)驱逐Node上的Pod清除logging
fluentd
pod。03
案例实施[root@master
~]#
oc
label
node
node1
logging-infra-fluentd-
label
"logging-infra-fluentd"notfound.node/node1
not
labeled18(5)删除Node节点可以看到,node1节点已经被成功移除。03
案例实施194.
OpenShift用户及权限管理(1)用户管理创建用户:03
案例实施[root@master~]#occreateuser
test01
#创建用户test01
user.user.openshift.io/test01created[root@master
~]#
htpasswd
-b
/etc/origin/master/htpasswd
test01
123456
Addingpasswordforusertest01[root@master
~]#occreate
identityhtpasswd_auth:test01[root@master
~]#
oc
create
useridentitymapping
htpasswd_auth:test01
test0120查看用户首先需要以管理员身份登录。删除用户:03
案例实施[root@master
~]#
oc
login-u
system:admin
[root@master
~]#
oc
getusersNAMEadmindev
test01UID FULL
NAME
IDENTITIESc5fa6b9b-ed77-11e9-b465-fa163e5be1aa
adf9e73d-ed79-11e9-b465-fa163e5be1aa
d9cb8e75-ee30-11e9-8b15-fa163e5be1aahtpasswd_auth:admin
htpasswd_auth:dev
htpasswd_auth:test01[root@master~]#ocdeleteusertest01
user.user.openshift.io"test01"
deleted[root@master~]#ocdeleteidentity
htpasswd_auth:test01
identity.user.openshift.io"htpasswd_auth:test01"deleted
[root@master
~]#
htpasswd-D
/etc/origin/master/htpasswd
test01
Deleting
password
forusertest0121(2)组管理为了方便用户管理,例如,授权策略,
或一次向多个用户授予权限,可以将用户加到组中。新建组的语法如下。例如新建hello组:查询组:添加组员:删除组员:03
案例实施#
oc
admgroupsnew<group_name><user1>
<user2>#
oc
adm
groups
newhellotest01
test02#
oc
get
groups#
oc
adm
groupsadd-usershellotest03#
oc
adm
groupsremove-usershellotest0322(3)角色与权限默认情况下,未授权的用户登录系统后,只有创建项目和管理自己项目的权限。OpenShift权限管理是基于角色的(Role-basedAccessControl,
RBAC),每个角色拥有一系列规则(Rule),规则定义了允许的操作。角色可以授予用户或组。角色分为2种类型:ClusterRole和LocalRole,两者的区别在于Cluster
Role定义在集群级别(所有项目),Local
Role限定在项目范围。创建Cluster
Role语法。03
案例实施#oc
create
clusterrole
<name>
--verb=<verb>
--resource=<resource>23例如创建名为podviewonly的Cluster
Role。创建Local
Role语法。例如创建名为podview的Local
Role。查看角色及其关联的规则集。03
案例实施#oc
create
clusterrole
podviewonly
--verb=get
--resource=pod#oc
create
role
<name>
--verb=<verb>
--resource=<resource>-n
<project>#
occreate
role
podview
--verb=get
--resource=pod-nblue#
oc
describe
clusterrole.rbac#
oc
describe
clusterrole.rbac
cluster-admin#
oc
describe
clusterrole.rbac
self-provisioner
#
ocdescriberole.rbac
--all-namespaces24角色可以授予用户或组,Cluster
Role可以绑定在集群或项目级别。若未使用-n指定project,则为当前project。上例中未使用--rolebinding-name指定rolebinding名称,则使用默认名称,首次执行时名称为cluster-admin-0,若继续执行下面命令,名称则为cluster-admin-1:指定rolebinding名称,可以创建或修改rolebinding,向已创建的rolebinding中添加用户。可以一次将角色授予多个用户:03
案例实施#
ocadmpolicyadd-role-to-user
admin
jason-nmy-project#
oc
admpolicy
add-cluster-role-to-user
cluster-admin
admin#
oc
admpolicy
add-cluster-role-to-user
cluster-admin
jason#
oc
adm
policy
add-cluster-role-to-user
cluster-admin
jason
coco
--rolebinding-name=cluster-admin-0255.
OpenShift
Project管理(1)创建新Project可以允许开发人员创建自己的项目。开发人员可以通过Web控制台或者使用oc
new-project命令来创建新的Project。03
案例实施[root@master~]#ocnew-project
test-project26(2)预定义ProjectAPI服务器根据master-config.yaml文件的projectRequestTemplate参数标识的模板自动配置新的项目。导出当前默认的模板。编辑template.yaml文件,对默认的配置进行更新。03
案例实施[root@master
~]#oc
admcreate-bootstrap-project-template
-o
yaml
>template.yaml27模板参数表:03
案例实施28导入更改后的模板。修改master-config.yaml文件的projectRequestTemplate参数,指向新建的模板。03
案例实施[root@master
~]#occreate
-f
template.yaml
-ndefault
template.template.openshift.io/project-request
created[root@master
~]#
cat
/etc/origin/master/jectConfig:projectRequestTemplate:
"default/project-request"...29(3)禁用自定义模板通过设置,也可以阻止通过认证的用户组使用自定义模板创建新项目。用具有cluster-admin权限的用户登录,查看self-provisioners权限的clusterrolebinding使用情况。03
案例实施[root@master
~]#
oc
describe
clusterrolebinding.rbac
self-provisioners
Annotations:
rbac.authorization.kubernetes.io/autoupdate=trueRole:Kind:
ClusterRole
Name:
self-provisioner
Subjects:30在master-config.yaml文件中配置projectRequestMessage参数,当开发人员创建新的项目时,将会用设置的Message提示他该如何去创建项目。03
案例实施[root@master
~]#
cat
/etc/origin/master/jectConfig:ProjectRequestMessage:
"To
request
a
project,
contact
your
system
administrator
at
projectname@."...31(4)对Project设置NodeSelectorNodeSelector与Node的Label配合使用,可以用来控制Pod的调度。修改master-config.yaml文件中的defaultNodeSelector参数来设置集群级别的默认节点选择器,这个配置将会影响所有没有设置NodeSelector标记的Pod。重启Master服务,让配置生效。03
案例实施projectConfig:defaultNodeSelector:
"type=user-node,region=east"[root@master~]#master-restartapi
[root@master
~]#master-restart
controllers326.
OpenShift
Pod管理Deployment/RC:全自动调度Deployment/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江事业单位统考衢州市开化县招聘17人(第2号)笔试参考题库及答案解析
- 2026贵州省第三人民医院招聘笔试备考题库及答案解析
- 2026金华东阳市事业单位招聘33人-统考笔试参考题库及答案解析
- 2026财达证券股份有限公司财富管理与机构业务委员会财富管理部招聘6人笔试备考题库及答案解析
- 2026年青山湖区人力资源和社会保障局下属事业单位招聘工作人员4人笔试备考试题及答案解析
- 四川省绵阳外国语学校2026年上半年公开考核招聘教师考试备考题库及答案解析
- 2026浙江衢州海关综合技术服务中心招聘检测工程师2人考试备考题库及答案解析
- 2026上半年衢州市属事业单位招聘44人-统考笔试参考题库及答案解析
- 2026全球环境基金中国野生动物保护管理与变革项目大熊猫国家公园四川省试点示范项目人员招聘1人考试备考题库及答案解析
- 2026青海西宁市湟中区第二人民医院招聘4人笔试备考题库及答案解析
- 大学专业排名证明(模板)
- 2023版思想道德与法治专题4 继承优良传统 弘扬中国精神 第2讲 做新时代的忠诚爱国者
- 林义《社会保险基金管理》(第2版)笔记和课后习题详解
- 2023年安徽汽车职业技术学院单招职业适应性测试题库及答案解析
- 拉丁舞比赛服饰装饰元素的演变,服装设计论文
- YY/T 0698.2-2022最终灭菌医疗器械包装材料第2部分:灭菌包裹材料要求和试验方法
- 肾上腺危象课件
- 二次函数中几何图形的最值问题课件
- 可燃气体报警器巡检记录表
- 施工单位项目安全生产条件确认情况表
- DB11-T 808-2020市政基础设施工程资料管理规程
评论
0/150
提交评论