OpenShift与Rancher

Rancher的部署
一、系统初始化

1)设置IP地址和主机名称

hostnamectl set-hostname rancher

2)添加地址解析和开启路由转发

cat >>/etc/hosts<<EOF

192.168.180.210 rancher

192.168.180.200 node1

192.168.180.190 node2

EOF
vim/etc/sysctl.conf

net.ipv4.ip_forward= 1

sysctl -p

3)关闭防火墙和Selinux

systemctl stop firewalld.service && systemctl disable firewalld.service

sed -i ‘/^SELINUX=/s/enforcing/disabled/’ /etc/selinux/config && setenforce 0

二、安装并启动Docker

1)安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

2)添加信息源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)更新并安装docker

yum makecache fast

yum -y install docker-ce docker-ce-cli containerd.io

4)Docker镜像加速

mkdir /etc/docker

vim /etc/docker/daemon.json

{

“registry-mirrors”: [“https://6bs5y5lw.mirror.aliyuncs.com”]

}

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

三、部署rancher

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.0.8

https://192.168.180.210

四、自定义群集

1) 添加群集

OpenShift Origin部署
一、基本配置:
1、设置主机名:
hostnamectl set-hostname master.example.com && bash
hostnamectl set-hostname node1.example.com && bash
hostnamectl set-hostname node2.example.com && bash
2、关闭防火墙
systemctl disable firewalld && systemctl stop firewalld
getenforce 1 (selinux必须处于Enforcing状态)
3、添加/etc/hosts
cat >>/etc/hosts<<EOF
192.168.180.210 master.example.com
192.168.180.200 node1.example.com
192.168.180.190 node2.example.com
EOF
4、安装基础包
yum install ntp unzip lrzsz vim wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct -y
将系统更新到最新版本
yum -y update
reboot

5、安装EPEL源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install ansible pyOpenSSL -y
6、下载Openshift origin 3.11源码(Master主机上执行)
#git clone -b release-3.11 https://github.com/openshift/openshift-ansible.git —>下载软件包

7、所有节点都要修改内核参数
cat >>/etc/sysctl.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

modprobe br_netfilter
sysctl -p

8、所有节点都要安装docker
yum -y install docker
systemctl enable docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“dns”:[“119.29.29.29”],
“registry-mirrors”:[“https://l8e41nna.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

9、在Master节点上执行免密登录
ssh-keygen
ssh-copy-id root@master.example.com
ssh-copy-id root@node1.example.com
ssh-copy-id root@node2.example.com

10、安装OpenShift工具(所有节点)
yum -y install atomic atomic-openshift-utils
yum -y install centos-release-openshift-origin311
vim /etc/yum.repos.d/CentOS-OpenShift-Origin311.repo
[centos-openshift-origin311]
name=CentOS OpenShift Origin
baseurl=https://mirrors.aliyun.com/centos/7/paas/x86_64/openshift-origin311/
enabled=1
gpgcheck=0

sed -i 8d /etc/yum.repos.d/CentOS-ANSIBLE.repo
sed -i 9cbaseurl=https://mirror.tuna.tsinghua.edu.cn/epel/7/x86_64/ /etc/yum.repos.d/CentOS-ANSIBLE.repo
sed -i s/gpgcheck=1/gpgcheck=0/ /etc/yum.repos.d/CentOS-ANSIBLE.repo

二、配置Ansible(Master主机上执行)
mv /etc/ansible/hosts /etc/ansible/hosts.bak
vim /etc/ansible/hosts

add follows to the end

[OSEv3:children]
masters
nodes
etcd
[OSEv3:vars]

admin user created in previous section

ansible_ssh_user=root
openshift_deployment_type=origin

use HTPasswd for authentication

openshift_master_identity_providers=[{‘name’: ‘htpasswd_auth’, ‘login’: ‘true’, ‘challenge’: ‘true’,‘kind’: ‘HTPasswdPasswordIdentityProvider’}]
openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability,package_version,package_availability

allow unencrypted connection within cluster

openshift_docker_insecure_registries=172.30.0.0/16
[masters]
master.example.com
[etcd]
master.example.com
[nodes]

set labels [region: ***, zone: ***] (any name you like)

master.example.com openshift_node_group_name=‘node-config-all-in-one’
node1.example.com openshift_node_group_name=‘node-config-compute’
node2.example.com openshift_node_group_name=‘node-config-compute’

三、部署并访问OpenShift
上传提供的openshift-master.tgz 到Master
解压后,使用sh load.sh载入镜像
上传提供的openshift-node1.tgz 到node1
解压后,使用sh load.sh载入镜像
上传提供的openshift-node2.tgz 到node2
解压后,使用sh load.sh载入镜像

解压openshift.git.tgz后,进入openshift-ansible
cd openshift-ansible
ansible-playbook playbooks/prerequisites.yml
ansible-playbook playbooks/deploy_cluster.yml

打开web界面 https://master.example.com:8443

排错命令
出现的错误提示:fatal: [master.example.com]: FAILED! => {“changed”: false, “msg”: “Control plane pods didn’t come up”}
journalctl -flu docker.service

各种报错后,先卸载,再尝试安装
卸载命令:
ansible-playbook ./playbooks/adhoc/uninstall.yml
多次安装导致证书不一致导致node认证master失败,也可以执行证书重新生成操作
ansible-playbook ./playbooks/redeploy-certificates.yml

四、管理OpenShift
1、创建集群管理员
htpasswd -b /etc/origin/master/htpasswd admin admin
oc adm policy add-cluster-role-to-user cluster-admin admin
查看
oc get user

创建项目:
oc new-project myproject
配置权限:
oc login -u system:admin
oc project myproject
oc adm policy add-scc-to-user privileged system:serviceaccount:default:router
oc adm policy add-scc-to-user privileged system:serviceaccount:myproject:admin
oc adm policy add-scc-to-user anyuid system:serviceaccount:myproject:admin
oc adm policy add-scc-to-group anyuid system:authenticated
oc adm policy add-scc-to-user anyuid -z default

vim Dockerfile
FROM centos:7
MAINTAINER openshift
RUN yum -y install wget &&
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &&
yum -y install nginx &&
rm -f /usr/share/nginx/html/index.html &&
echo “This is my first project for Openshift Origin” > /usr/share/nginx/html/index.html &&
yum clean all &&
rm -rf /tmp/*
EXPOSE 80
CMD [“/usr/sbin/nginx”,“-g”,“daemon off;”]

docker build -t docker-registry.default.svc:5000/myproject/nginx . --network host

oc login -u admin -p admin
oc whoami -t 命令会产生以下的token
Pt2E5vwBbLKpSW4hKFBTZ1azCcasBk52NPsszQ6sc40
docker login -u admin -p Pt2E5vwBbLKpSW4hKFBTZ1azCcasBk52NPsszQ6sc40 docker-registry.default.svc:5000
docker push docker-registry.default.svc:5000/myproject/nginx
oc get all
oc new-app docker-registry.default.svc:5000/myproject/nginx --name=nginx
oc expose svc/nginx
oc get route
curl nginx-myproject.router.default.svc.cluster.local
oc edit routes/nginx
修改以下内容 host: nginx.master.example.com
echo “192.168.180.210 nginx.master.example.com” >> /etc/hosts
curl nginx.master.example.com

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整的vite + ts + vue3项目,克隆就能用,傻瓜式保姆教程(第二篇)

目录 前言 一、基础知识准备 1.1 接口请求 &#xff08;本篇重点内容&#xff09; 1.1.1 Fetch API 1.1.2 XMLHttpRequest 1.1.3 axios&#xff08;推荐&#xff09; 1.1.4 EventSource 1.1.5 WebSocket 1.2 ts 类型定义 &#xff08;本篇内容&#xff09; 1.3 svg 雪…

java 图片裁剪与合并

前言 在使用阿里云人数检测时&#xff0c;为降低成本&#xff0c;我们需要将两个图片合并成一张图片&#xff0c;提交给阿里云图像识别&#xff0c;但我发现识别时由于一些感染因素&#xff0c;会有一定的错误率&#xff0c;所以就需要将图片进行裁剪后再拼接。 具体操作逻辑…

BearPi Std 板从入门到放弃 - 先天神魂篇(3)(RT-Thread I2C设备 读取光照强度BH1750)

简介 使用BearPi IOT Std开发板及其扩展板E53_SC1&#xff0c; SC1上有I2C1 的光照强度传感器BH1750 和 EEPROM AT24C02&#xff0c; 本次主要就是读取光照强度; 主板: 主芯片: STM32L431RCT6LED : PC13 \ 推挽输出\ 高电平点亮串口: Usart1I2C使用 : I2C1E53_SC1扩展板 : LE…

约束系数的四舍五入引起的模型数值问题

在数学模型的求解当中&#xff0c;常常会出现各式各样的数值问题&#xff0c;包括模型的求解结果不稳定、产生不合理的结果或者底层算法的表现与收敛性都不符合预期等问题&#xff0c;引起这些问题的原因很多种&#xff0c;其中&#xff0c;在建模时&#xff0c;对约束系数的精…

基于网络爬虫技术的网络新闻分析

目录 前言 一、网络爬虫技术 二、代理IP 三、网络新闻分析 总结&#xff1a; 前言 随着互联网的发展和普及&#xff0c;网络新闻成为人们获取信息的重要途径。然而&#xff0c;由于网络新闻的数量庞大&#xff0c;分析和处理这些新闻变得愈发困难。本文将介绍如何使用网络…

竞赛保研 python的搜索引擎系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;5分创新点&#xff1a;3分 该项目较为新颖&#xff…

冥想第一千零九天

1.周日&#xff0c;今天睡到自然醒&#xff0c;媳妇嫌弃在家里太闷了&#xff0c;让后去公园转了一圈我跑了6公里&#xff0c;心率很高&#xff0c;好在稳定&#xff0c;晚上给溪溪桐桐拼了拼图。给溪溪刷了鞋子。※ 2.早上给溪溪桐桐领了巧克力。 3.感谢父母&#xff0c;感谢朋…

代码随想录算法训练营第55天| 392.判断子序列 115.不同的子序列

JAVA代码编写 392.判断子序列 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是"…

Linux服务器性能优化小结

文章目录 生产环境监测常见专业名词扫盲服务器平均负载服务器平均负载的定义如何判断平均负载值以及好坏情况如果依据平均负载来判断服务器当前状况系统平均负载和CPU使用率的区别 CPU上下文切换基本概念3种上下文切换进程上下文切换线程上下文切换中断上下文切换 查看上下文切…

Java后端问题排查经验

线上出现问题首先应该做什么&#xff0c;不是解决问题&#xff0c;而是先恢复系统&#xff0c;把损失降到最小&#xff0c;有机会的话保留日志等数据用于后期问题复盘分析。解决问题可以后期慢慢复现排查&#xff0c;而线上用户的体验则不能多耽误一分一秒&#xff0c;任何线上…

监理工程师通过率是多少?如何提高监理的通过率?

监理工程师通过率是多少&#xff1f; 监理工程师考试通过率在30%-40%左右。 监理工程师考试科目包括建设工程合同管理、目标控制、建设工程监理基本理论与法规、建设工程监理案例分析&#xff0c;这4个科目所涵盖的内容非常的广&#xff0c;包含了有关于合同法建设的知识和内…

word怎么分页?学会这几招,轻松掌握分页功能!

Microsoft Word作为办公文档处理的主力工具&#xff0c;其强大的排版功能为用户提供了丰富的文档编辑体验。其中&#xff0c;分页是一个常用但可能被忽视的重要功能&#xff0c;能够使文档结构更清晰、更易读。本文将向您介绍word怎么分页的三种方法&#xff0c;帮助您更好地掌…

Linux消息队列 msgget()、msgsend()、msgrcv()、msgctl()

一、消息队列 1、消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 2、每个数据块都被认为是有一个类型&#xff0c;接收者进程接收的数据块可以有不同的类型值 3、消息队列与管道不同的是&#xff0c;消息队列是基于消息的&#xff0c;而管道是基于字节流的&…

目标跟踪 MOT数据集和可视化

目录 MOT15数据集格式简介 gt可视化 本人修改的GT可视化代码&#xff1a; MOT15数据集格式简介 以下内容转自&#xff1a;【目标跟踪】MOT数据集GroundTruth可视化-腾讯云开发者社区-腾讯云 MOT15数据集下载&#xff1a;https://pan.baidu.com/s/1foGrBXvsanW8BI4eybqfWg?…

github打不开的几种解决方案

github打不开的几种解决方案 参考文章 GitHub 加速镜像 以下是两个免费的 GitHub 公益加速项目 kkgithub.com仅需在 github.com 的 g 前加上 kk&#xff0c;就可正常访问 GitHub。 例如&#xff1a; https://github.com/tldraw/tldraw 将链接更换后&#xff1a; https://…

codeforces C. Largest Subsequence

思路 首先是要选出 L a r g e s t S u b s e q u e n c e Largest Subsequence LargestSubsequence &#xff0c;第一个字符是整个串最大的&#xff0c;第二个是第一个的位置后面最大的 … \dots … &#xff0c;我用的是优先队列第一关键字大小&#xff0c;第二关键字位置。…

C语言学习第二十六天(算法的时间复杂度和空间复杂度)

1、算法效率 衡量一个算法的好坏&#xff0c;是从时间和空间两个方面来衡量的&#xff0c;换句话说就是从时间复杂度和空间复杂度来衡量的 这里需要补充一点&#xff1a;时间复杂度是衡量一个算法的运行快慢&#xff0c;空间复杂度是主要衡量一个算法运行所需要的额外空间。 …

【操作系统】实验五 文件系统

实验目的&#xff1a; 1. 掌握文件系统的基本概念和工作机制 2. 掌握文件系统的主要数据结构的实现 3、掌握软件系统实现算法 实验内容&#xff1a; 设计并实现一个虚拟的一级&#xff08;单用户&#xff09;文件系统程序 提供以下操作 1、文件创建/删除接口命令 2、目录创建/删…

Java基于微信小程序的小区车位租赁系统的设计与实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 简介技术路线需求分析用户信息管理车位信息管理车位申请管理论坛信息管理 效果图推荐阅读 简介 …

【强化学习-读书笔记】动态规划(策略评估、价值迭代、策略迭代算法)

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto动态规划 (Dynamic Programming, DP) 是一类优化方法&#xff0c;在给定一个用马尔可夫决策过程 (MDP) 描述的完备环境模型的情况下&#xff0c;其可以计算最优的策…