avatar
文章
239
标签
39
分类
9

主页
归档
标签
分类
Michael Blog
搜索
主页
归档
标签
分类

Michael Blog

Openshift-GitLab安装及使用Nodeport支持ssh访问
发表于2020-05-20
部署Gitlab 创建gitlab项目1oc new-project gitlab 创建cicd serviceaccount1$ oc create serviceaccount cicd -n gitlab 导入Gitlab模板12wget https://gitee.com/xhua/OpenshiftOneClick/raw/3.11/openshift-templates/gitlab-template.yamloc create -f openshift-template.json -n openshift 创建持久化存储(如果没有pv的情况下)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384$ cat gitlab-pv.yamlapiVersion: v1items:- apiVersion: v1 ...
Openshift-HPA(Horizontal-Pod-Autoscaler)自动伸缩过程及算法
发表于2020-05-20
1、HPA介绍HPA(Horizontal Pod Autoscaler)是Openshift中的一个非常重要的对象,它定义了系统如何根据收集对应的Pod的状态(CPU/Memory)对DeploymentConfig、ReplicationController对象进行扩容与缩容。 HPA依赖于收集到的Pod资源的使用状态,所以要使HPA生效,Openshift必须安装好cluster metrics应用。 被监控的pod必须设置好了spec.containers.resources.requests属性,HPA才能正常工作。 仅支持CPU/Memory使用率的判断,如果自定义监控项,只能使用经验值,不能使用使用率。 支持对象:DeploymentConfig、ReplicationController、Deployment、Replica Set。 2. HPA伸缩过程及算法 HPA进行伸缩过程 收集该HPA控制下所有Pod最近的cpu使用情况(CPU utilization) 对比在扩容条件里记录的cpu限额(CPUUtilization) 调整实例数( ...
Openshift-Jenkins共享并支持pipeline
发表于2020-05-20
诉求 使用Openshift的pipeline构建流水线,在Openshift上统一管理 使用一个公共的Jenkins,而不需要每个Project下都创建一个新的jenkins。以节约资源 在创建新的项目时,尽量少地改动完成以上的需求 问题openshift默认的BuildConfig如果设置为jenkinsPipelineStrategy策略,将会在当前project下查找jenkins服务,如果没有的话,将会使用master-config中设置的默认jenkins模板所在位置在当前project下创建一个新的jenkins应用,便使用该应用执行相关的pipeline。每个项目都会创建一个新的jenkins。 解决思路 禁用Openshfit默认的JenkinsPipeline机制,不在当前项目下面自动创建Jenkins 在创建一个新的project时,创建名为jenkins的service,同时将它指向公共的Jenkins服务。 同时为了在当前Project界面下能够跳转到jenkins的界面,再创建一个jenkins Route,支持跳转到jenkins进行查看运行日志与过程 ...
Openshift-Network-QoS——Pod网络控制
发表于2020-05-20
Pod网络(速)控制的必要性高速公路上,当流量大时,如果汽车仍然不限制速度的话,将会很容易发生车祸,我们都会自觉地减速缓慢通过,只有减速才能安全行驶。在平台的集群中也是一样,一台主机上会有大量容器运行,容器相当于高速速上的汽车,对外的网络通信都使用主机出口这条高速路,如果某(几)个容器突然访问流量大增,而且没有作任何网络限速,会占用了主机的网络,严重影响其它容器的网络,进而影响其它业务。 前提 Openshift打开多租户网络模式修改/etc/origin/master/master-config.yaml将networkPluginName设置为redhat/openshift-ovs-multitenant12345... hostSubnetLength: 9 networkPluginName: redhat/openshift-ovs-multitenant serviceNetworkCIDR: 172.30.0.0/16... 如果已存在的集群,切换网络策略,请参考Openshift网络插件动态切换 为Pod添加网络限 ...
Openshift-Nginx-Router替换默认Haproxy-Router
发表于2020-05-20
什么是Router Router在Openshift集群的一个不可非常重要的组件,它作为外部请求访问集群内部资源的入口,为Openshift上的应用提供边缘负载均衡。 Router可以为应用提供HTTP和websocket流量的负载均衡,同时支持HTTPS连接。Openshift上有一个特殊的资源叫Route,通过它可以方便地配置Router。 Openshift集群默认使用Haproxy应用作为Router的实现,它通过容器的形式运行在相应的Node上,同时Router Pod网络使用的宿主机的网络,即hostNetwork=true。 除了Haproxy,我们还可以使用Nginx来实现Router,这也是本文的重点。 不管是Haproxy还是Nginx方案都是使用了软件负载均衡器,还可以使用F5等硬件负载均衡器来替换Router,达到性能的提升。 Nginx Router与默认Router比较 如何替换Openshift默认Router卸载当前Router 用system:admin登录集群1$ oc login -u system:admin 选择default项目1$ o ...
Openshift-Route证书HTTPS配置
发表于2020-05-20
后台应用为http服务Termination Type: EdgeInsecure Traffic: Allow 后台应用为https服务Termination Type: PassthroughInsecure Traffic: None
Openshift-Service不仅仅能负载Pod,它还能负载VM等外部服务
发表于2020-05-20
Service是Openshift最核心的概念,它可以为一组具有相同功能的Pod提供一个统一的入口,并且将请求负载均衡分发到后端的各个Pod应用上。同时Service在集群下的IP是不变的,保证了请求的可靠性。 Service仅仅只能负载一组Pod吗?No。它还可以对接VM的服务,甚至是物理机的服务。 Service负载Pod 1234567891011121314apiVersion: v1kind: Servicemetadata: name: nginxspec: selector: app: nginx type: NodePort ports: - port: 8080 name: nginx protocol: TCP targetPort: 8080 nodePort: 38080 selector:Label选择器,将选择指定Label的Pod作为被负载Pod type:Service的类型,指定Service的访问方式,默认为ClusterIP。 ClusterIP:虚拟的服务IP地址,该IP可以被集群下 ...
Openshift-Web-Console自定义界面
发表于2020-05-20
什么是Openshift WebConsole Openshift WebConsole是Openshift提供的一个web界面端,类似到Kubernetes的Dashboard。很多操作都可以在WebConsole端去处理与显示。 部署完成Openshift后,会有一个openshift-web-console的project,在这个project中有一个openshift-web-console应用,该应用便是Openshift WebConsole。 自定义Openshift WebConsole原理Openshift WebConsole前端使用的是Google的AngularJS技术,并且它在设置的时候提供了扩展的入口。WebConsole在应用启动时会去读取configmap(webconsole-config)中的配置,而webconsole-config的配置中可以设置导入的自定义css与js文件。 12345678......extensions: properties: {} scriptURLs: - https://www.exam ...
Openshift-gitlab-redmine-testlink集成
发表于2020-05-20
Gitlab:使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Redmine:项目管理和bug跟踪工具。TestLink:基于web的测试用例管理系统,主要功能是测试用例的创建、管理和执行,并且还提供了一些简单的统计功能。Redmine作为项目问题及bug收集汇总的地方,gitlab及testlink通过调用redmine的api进行对问题进行更新。那第它们之间是怎么配置的呢?下面就一起来配置下。 Redmine部署与插件安装相关配置在github项目:https://github.com/xhuaustc/redmine-openshift Dockerfile中更新了docker-entrypoint.sh文件,更新了数据库的编码(mysql: utf8mb4 ) 创建镜像 12$ docker build -t harbor.local.com/public/redmine .$ docker push harbor.local.com/public/redmine 在openshift上创建新的项目 创建工程 1$ oc new-project re ...
Openshift3-9上部署Prometheus+Grafana实现集群的监控与告警
发表于2020-05-20
Openshift从3.9版本开始官方支持Prometheus和Grafana 从官方部署脚本 openshift-ansible 中的目录playbooks下的列表 中可以看到相关部署脚本openshift-prometheusopenshift-grafana 既然官方支持,部署安装就十分简单了。 部署安装Prometheus /etc/ansible/hosts添加配置 12[OSEv3:vars]openshift_hosted_prometheus_deploy=true 执行安装 1ansible-playbook playbooks/openshift-prometheus/config.yml 打开宿主机的9100端口(kubernetes-nodes-exporter) 1ansible all -m shell -a 'iptables -A OS_FIREWALL_ALLOW -p tcp -m state --state NEW -m tcp --dport 9100 -j ACCEPT; service i ...
1…161718…24
avatar
Michael Pan
日积硅步以致千里,记录日常工作与学习
文章
239
标签
39
分类
9
Follow Me
最新文章
rclone使用教程2025-05-14
Kubernetes云原生存储解决方案 - Longhorn安装指南2025-04-25
使用Python开发自己的MCP服务:AI能力扩展入门指南2025-04-16
使用NSSM将程序注册为Windows服务2025-03-24
在Cursor中配置MCP2025-03-19
分类
  • AI1
    • 开发1
  • DevOps1
    • Kubernetes1
  • devops1
  • 教程5
  • 读书笔记5
    • devops3
标签
golang operator infra nssm cursor openshift hexo devops tool selenium 机器学习 rclone monitor pandas MCP ai container Python kubernetes github docker jenkins 读书笔记 proxy 存储 vault AI开发 大语言模型 windows shell ansible python nginx mcp Longhorn Kubernetes 大数据 butterfly infra tools
归档
  • 五月 20251
  • 四月 20252
  • 三月 20252
  • 十一月 20242
  • 十月 20241
  • 八月 20241
  • 四月 20241
  • 十二月 20232
网站资讯
文章数目 :
239
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Michael Pan
搜索
数据库加载中