OpenShift3.11 社区版搭建

一、资源规划

HostnameIPOSCPUMemDisk
master192.168.78.131CentOS7.92vCPU4G60G
node1192.168.78.132CentOS7.92vCPU4G60G
node2192.168.78.133CentOS7.92vCPU4G60G

二、安装过程:

2.1 前期配置

开启所有节点的 SELinux (所有主机执行)
grep -v ^# /etc/selinux/config | grep -v ^$# 显示如下则证明已经开启了 SELinux,否则照此修改配置,并重启主机
SELINUX=enforcing
SELINUXTYPE=targeted

确保所有的节点都已经开启 SELinux
在这里插入图片描述

所有节点关闭防火墙(所有主机执行)
systemctl stop firewalld && systemctl disable firewalld
修改 /etc/hosts文件(Master主机执行)
vi /etc/hosts# 新增如下内容
192.168.78.131  master.lab.unicom.com  master
192.168.78.132  node1.lab.unicom.com  node1
192.168.78.133  node2.lab.unicom.com  node2
复制到其他节点(Master主机执行)
for i in 2 3;do scp /etc/hosts root@192.168.78.13$i:/etc;done
配置免密登录(Master主机执行)
ssh-keygen -t rsa -P ''
ssh-copy-id master
ssh-copy-id master.lab.unicom.com
复制到其他节点(Master主机执行)
for i in {1..3};do ssh-copy-id 192.168.26.13$i;done
for i in {1..2};do ssh-copy-id node$i;done
for i in {1..2};do ssh-copy-id node$i.lab.unicom.com;done

2.2 安装依赖包

安装 OpenShift 依赖的软件包(所有主机执行)
yum -y install wget git net-tools bind-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct bash-completion.noarch python-passlib NetworkManager vim
安装docker(所有主机执行)
yum -y install docker-1.13.1
配置 Docker 镜像仓库地址(所有主机执行)
cat > /etc/docker/daemon.json<<EOF
{"registry-mirrors" : ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://cr.console.aliyun.com/","https://0trl8ny5.mirror.aliyuncs.com"ps -ef]
}
EOF
重启 Docker 使得配置地址生效(所有主机执行)
systemctl daemon-reload && systemctl restart docker && systemctl enable docker
Master 主机上安装 Ansible
yum -y install epel-release
yum -y install centos-release-ansible-28.noarch
yum list ansible --showduplicates
yum -y install ansible-2.8.6# 查看ansible版本
ansible --version

2.3 安装/配置 openshift

Master 主机上下载安装 openshift-ansible-3.11.764-1.tar.gz

下载 openshift-ansible-3.11.764-1.tar.gz 安装包,解压后文件夹重命名

wget ttps://github.com/openshift/openshift-ansible/archive/refs/tags/openshift-ansible-3.11.764-1.tar.gz
tar -zxvf openshift-ansible-3.11.764-1.tar.gz
mv openshift-ansible-openshift-ansible-3.11.764-1/  openshift-ansible
编写ansible Inventory文件(Master 主机)
vim /etc/ansible/hosts# 修改内容如下
[OSEv3:children]
masters
nodes
etcd[OSEv3:vars]
ansible_ssh_user=root
# 使用origin社区版
openshift_deployment_type=origin
deployment_type=origin
# 指定安装版本
openshift_release=v3.11
# 指定默认域名,访问时需要使用该域名,无dns服务器时需要手动添加本地hosts文件
openshift_master_default_subdomain=lab.unicom.com
# 禁止磁盘、内存、镜像的检查
openshift_disable_check=disk_availability,docker_storage,memory_availability
# disk_availability: 报错信息是推荐的master磁盘空间剩余量大于40GB。测试环境无法满足;跳过检测
# memory_availability: 报错信息是推荐的master内存为16GB;node内存为8GB;测试环境无法满足;跳过检测
# docker_image_availability: 报错信息是需要的几个镜像未找到;选择跳过;装完集群后;在使用的时候再自行下载
# docker_storage: 报错信息是推荐选择一块磁盘空间存储镜像;这里选择跳过。采用docker默认的方式存储镜像
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_master_htpasswd_file=/etc/origin/master/htpasswd
# ntp时间同步
openshift_clock_enabled=true
# 节点配额
openshift_node_groups.edits={'pods-per-core': ['10']}
# 主机组
[masters]
master openshift_schedulable=True
# 节点的主机组,包含region和infra
[nodes]
master openshift_node_groups.labels="{'region': 'infra'}"
node1 openshift_node_groups.labels="{'region': 'infra', 'zone': 'default'}"
node2 openshift_node_groups.labels="{'region': 'infra', 'zone': 'default'}"
master openshift_node_group_name='node-config-master'
node1 openshift_node_group_name='node-config-compute'
node2 openshift_node_group_name='node-config-compute'# 至少有一个节点需要是node-config-infra
node2 openshift_node_group_name='node-config-infra'[etcd]
master
部署前检测

# 提前创建密码保存文件,不然待会会报错
mkdir -p /etc/origin/master/
touch /etc/origin/master/htpasswd[root@master ~]# ansible-playbook  -i  /etc/ansible/hosts  /root/openshift-ansible/playbooks/prerequisites.yml# 执行结束后若无问题会显示localhost、master、node1、node2的failed=0,Initialization  : Complete (0:01:33)
# 若有问题,排错后多次执行
正式部署
ansible-playbook  -i  /etc/ansible/hosts  /root/openshift-ansible/playbooks/deploy_cluster.yml
# 部署过程中会出现pull faild发生retry,等待重试完成即可

三、openshift 验证

# 安装完成结果检查
oc get nodes

在这里插入图片描述
node2 节点的 roles 类型不对,需要将 node2 打上 compute 标签,因为它也是计算节点

oc label node node2 node-role.kubernetes.io/compute=true

再次检查
在这里插入图片描述

# 查看pods
oc get pods

在这里插入图片描述

使用管理员登录集群并创建管理员账号
oc login -u system:admin
# 检查登录用户
oc whoami # 创建管理员账号
htpasswd -b /etc/origin/master/htpasswd admin redhat# 使用新用户登录集群
oc login -u admin -p redhat# 检查登录用户
oc whoami 
# admin
使用浏览器访问 OpenShift Web Console

注意:需要提前为宿主机设置hosts

# OpenShift
192.168.78.131 master.lab.unicom.com

使用宿主机浏览器访问:https://master.lab.unicom.com:8443/
使用用户名密码(admin/redhat)访问即可

快速创建一个小的应用

注意:需要提前为宿主机设置hosts

# 用户登录
oc login -u admin -p redhat# 创建项目、切换至该项目
oc new-project hello
oc project hello# 拉取镜像
docker pull docker.io/openshift/hello-openshift# 通过镜像创建应用
oc new-app docker.io/openshift/hello-openshift

在这里插入图片描述

# 获取pod 的详细信息
oc status# 访问该服务
curl 172.30.223.69:8080

在这里插入图片描述

四、openshift常用操作命令

#通过CLI登陆openshift
oc login https://10.19.169.XX:8443 -u username -p password#退出登陆
oc logout#查看所有的proeject信息
oc projects#创建新的project
oc new-project myproject#切换project空间到myproject下
oc project myproject#查看project下的服务状态
oc status#查看project下的所有服务
oc get svc -n myproject#查看project下的pod信息
oc get pods -n myproject#获取project下服务的buildconfig信息,一个build就是一个把输入参数转化为输出结果的过程。通常,这个过程用于把source code转化为一个执行的image。
oc describe bc bcname#获取project下服务的deploymentconfig信息,DeploymentConfig定义了在Openshift部署什么,如何运行。
oc describe dc dcname#将pod内部服务对外暴露
oc expose svc servicename#查看服务的build config日志
oc logs -f bc/servicename#查看服务的deploy config日志
oc logs -f dc/servicename#在project下基于jdk8镜像和GitLab代码 创建app,new-app 为微服务应用创建了相应的bc、dc和svc
oc new-app openshift/redhat-openjdk18-openshift~http://10.119.169.XX/ChinaTechnologyPlatform/XX.git --allow-missing-imagestream-tags --strategy=source#根据is创建app
oc new-app -i openshift/custom-mysql:latest -p MYSQL_USER=workflow -p MYSQL_PASSWORD=Kpmg#1234 -p MYSQL_DATABASE=workflowdb -p MYSQL_ROOT_PASSWORD=Kpmg#1234 -p MYSQL_LOWER_CASE_TABLE_NAMES=1 --name=“mysqlserver” -n workflow-service-dev#基于template模板创建应用
oc new-app --template=jenkins-persistent -n jenkins-pipeline#查看project下的pod信息
oc get pods#查看模板信息
oc get template#openshift模板导出
oc export bc,dc,svc,is,route -o json –as-template=”test-template” > ~/test-template.yaml#扩展容器pod数
oc scale dc service-name --replicas=5#编辑template模板
oc edit template templatename#登陆pod内部
oc exec podname -itbash -li#创建template
可以通过openshift的web console台导入#给pv 打上标签disktype=ssd
oc label pv pv002 disktype=ssd#查看pv上的标签
oc get pv --show-labels#回滚到最近部署成功的版本
oc rollout undo dc/dcname#获取dc部署版本信息
oc rollout history dc/dcname#回滚到指定的版本
oc rollout undo dc/dcname --to-revision=2创建一个imagestream 并将内部镜像仓库的镜像同步到imagestream中
#创建imagestrem
oc create imagestream custom-mysql#创建imagestream tag和内部镜像关联上
oc tag registry.example.com/custom-mysql:latest custom-mysql:latest#同步已有镜像到imagestream
oc import-image custom-mysql:latest --insecure -n openshift

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3225900.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

钡铼技术有限公司S270用于智慧物流中心货物追踪与调度

钡铼技术有限公司的第四代S270是一款专为智慧物流中心设计的工业级4G远程遥测终端RTU&#xff0c;其强大的功能和灵活性使其成为货物追踪与调度的理想选择。 技术规格和功能特点 钡铼S270支持多种通信协议&#xff0c;包括短信和MQTT&#xff0c;这使得它能够与各种云平台如华…

儿童房灯具什么牌子好?几款儿童房灯具款式墙裂分享

随着科技的不断发展和生活方式的改变&#xff0c;儿童青少年近视率的增长趋势引起了人们的关注。近视不仅对孩子们的视力健康构成威胁&#xff0c;还可能对他们的学习和日常生活带来不便。因此&#xff0c;如何有效地预防和改善儿童青少年的视力问题成为了一个亟待解决的课题。…

【JavaEE】Spring AOP详解

一.AOP的定义. Aspect Oriented Programming&#xff08;面向切面编程&#xff09;概括的来说AOP是一种思想, 是对某一类事情的集中处理 什么是面向切面编程呢? 切面就是指某一类特定问题, 所以AOP也可以理解为面向特定方法编程.什么是面向特定方法编程呢? 比如上个博客文章…

餐饮管理系统-计算机毕业设计源码43667

餐饮管理系统 摘 要 在信息化、数字化的时代背景下&#xff0c;餐饮行业面临着前所未有的挑战与机遇。为了提高运营效率、优化顾客体验&#xff0c;餐饮企业亟需一套高效、稳定且灵活的管理系统来支撑其日常运营。基于Spring Boot的餐饮管理系统应运而生&#xff0c;成为餐饮行…

【Linux】:程序替换

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux程序替换的相关知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门…

蓝牙人员定位精准吗?是否会对人体有伤害?

不知道大家现在使用的蓝牙人员定位系统都是什么样的呢&#xff1f;其实就出行而言&#xff0c;使用GPS定位也就是足够了的&#xff0c;而且目前的定位相对也比较精准了&#xff0c;效果还是很不错的。但是如果说是室内定位&#xff0c;很显然常规的定位系统是无法满足使用需求的…

【背就有效】软考中级信息系统监理师核心知识点汇总!

宝子们&#xff01;上半年软考已经告一段落了&#xff0c;准备下半年考信息系统监理师的小伙伴可以开始准备了。这里给大家整理了信息系统监理师核心知识点汇总&#xff0c;涵盖全书90%的重点&#xff0c;先把这个存下&#xff01;再慢慢看书&#xff0c;边看书边背这个&#x…

【机器学习】主成分分析(PCA):数据降维的艺术

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 主成分分析&#xff08;PCA&#xff09;&#xff1a;数据降维的艺术引言PCA的基…

Plaxis Python API的连接与配置、外部Python编译器的使用、Python命令流自动建模过程,典型岩土工程案例

目录 第一部分 Plaxis软件简介及 Plaxis Python API环境搭建 第二部分 Plaxis自动化建模-基础案例 第三部分 进阶案例—Python全自动实现 第四部分 高级案例—Python全自动实现 有限单元法在岩土工程问题中应用非常广泛&#xff0c;很多软件都采用有限单元解法。在使用各大…

平凉崆峒区特产美食亮相兰洽会文旅康养展馆

在第三十届兰洽会的文旅康养展馆中&#xff0c;平凉的特产无疑是一道亮丽的风景线。作为促进区域经济合作与交流的重要平台&#xff0c;每年都吸引着众多企业和特色产品的亮相。 走进这个充满活力与特色的展馆&#xff0c;首先映入眼帘的是琳琅满目的特色产品。平凉红牛的…

【ai_agent】从零写一个agent框架(三)实现几个示例中的service:llm,tool等

前言 上一篇文章里我们实现了一个基本的运行时&#xff0c;能够将service按照plan执行起来&#xff0c;本文我们尝试实现一些基本节点&#xff0c;最终运行一个最简单的agent。 代码仓库 1. Openai-llm 我们这里还是接openai的llm能力。 先定义一下模型的基本配置&#xf…

el-from中校验,如果某一项需要另一项填写才能校验

使用validateField <el-form:model"params":rules"rules":scroll-to-error"true"ref"refrom"v-else><el-form-item label"用户姓名" prop"name"><el-input placeholder"请输入用户姓名"…

5、闪存简述

闪存基本原理 如下图所示浮栅晶体管&#xff0c;当判断是0或1的时候&#xff0c;是在源极加电&#xff0c;当源极和漏极能导通则为1&#xff0c;否则为0&#xff1b;源极和漏极能导通的前提是源极和漏极之间充满电子。 假如在控制极加电(电子具有向电性)&#xff0c;衬底的电…

[计网初识1] TCP/UDP

学习内容 1.TCP建立链接的3次握手&#xff0c;断开连接的4次挥手 2.TCP报文段组成 内容 1.TCP 建立连接的3次握手? 假设主动方是客户端&#xff0c;被动方是服务端。 第一次 客户端给服务端发送 “hello,我是客户端” (TCP段中 SYN1) 第二次 服务端给客户端发送"我接…

一站式短视频矩阵开发,高效托管!

短视频矩阵系统源码SaaS解决方案提供全面的开发服务&#xff0c;包括可视化视频编辑、矩阵式内容分发托管以及集成的多功能开发支持。 短视频矩阵&#xff1a;引爆您的数字营销革命 短视频矩阵系统是一套多功能集成解决方案&#xff0c;专为提升在短视频平台上的内容创作、管理…

C语言笔记31 •单链表经典算法OJ题-3.反转链表•

反转链表 1.问题 给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.代码实现&#xff1a; //3.反转链表 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int …

技术成神之路:设计模式(四)工厂方法模式

1.定义 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的接口&#xff0c;而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类&#xff0c;从而实现对象创建的延迟到具体子类…

4.2 存储管理

大纲 页式存储必考&#xff0c;段式存储看运气 页式存储 概念

迅为RK3588开发板RKNPU2项目实战2SORT目标追踪

1.介绍和视频演示2.在模拟器实现图片的目标追踪3.连板推理和嵌入式部署4.视频目标追踪的实现(python)5.C实现目标追踪性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c…