avatar
文章
248
标签
68
分类
13

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

Michael Blog

可怜人意,薄于|
Openshift-F5集成(南北流量走F5)
发表于2020-05-20
使用F5与Openshift集成目的外部流量访问应用时,通过F5 BIG-IP硬件设备直接代理到集群中的Pod。这样做的好处,很明显。 使用硬件负载均衡器替换掉软件负载均衡器,提高性能。 F5有更灵活的配置,可以实现更复杂的流量控制 Openshift操作Openshift通过BIG-IP Controller来控制BIG-IP设备。由于Openshift是基于Kubernetes的,所以它们使用同一个Controller(k8s-bigip-ctlr)。BIG-IP Controller为集群中的应用配置BIG-IP对象,提供南北流量的服务。 BIG-IP Controller有两种方式来使用F5 BIG-IP设备 为Openshift中的Service提供代理流量 为Openshift中的Route提供代理流量 为Openshift中的Service提供代理流量_(不介绍具体部署操作)_这种方式,我们测试下来发现,需要为对外提供服务的Service绑定到F5的不同端口,同时外部访问应用时需要指定端口号。如:app1.openshift.example.com:8000, a ...
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-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-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-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部署手册
发表于2020-05-20
说明:本文主要介绍通过Ansible来部署Openshift 3.9 一、准备系统准备 节点类型 说明 Masters 物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 最少4vCPU最少16GB内存/var/最少40GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间   Nodes 物理主机或者虚拟机 系统:Fedora 21, CentOS 7.3, 7.4或者7.5 NetworkManager版本1.0以上最少1vCPU最少8GB内存/var/最少15GB空间 /usr/local/bin最少1GB空间容器临时目录最少1GB空间   额外的etcd节点 最少20GB用来存储etcd数据   注:在安装时可以通过ansible_inventory的配置忽略以上系统要求扩展:对于生产部署时,Master的配置要求计算规则如下:每1000个po ...
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…171819…25
avatar
Michael Pan
日积硅步以致千里,记录日常工作与学习
文章
248
标签
68
分类
13
Follow Me
最新文章
LightRAG:轻量级检索增强生成系统详解2025-08-13
从零构建RAG文档问答系统:技术栈与实现方案详解2025-08-11
LangChain框架入门与实践:组件详解、使用场景与示例2025-08-09
vLLM高性能大模型推理引擎使用指南2025-08-05
Cursor创建一个python项目的所有交互2025-07-27
分类
  • AI8
    • DevOps1
    • SRE1
      • DevOps1
    • 开发1
  • DevOps1
    • Kubernetes1
  • devops1
标签
Agent tool 向量检索 mcp AI开发 nssm Prompt Ollama Vue.js github RAG infra tools infra 大模型推理 读书笔记 AI 可观测性 windows ChromaDB Cursor FastAPI jenkins 效率工具 vLLM SRE 大语言模型 机器学习 Python golang cursor 监控 docker LangChain monitor uv Kubernetes kubernetes mac nginx LLM
归档
  • 八月 20254
  • 七月 20254
  • 六月 20251
  • 五月 20251
  • 四月 20252
  • 三月 20252
  • 十一月 20242
  • 十月 20241
网站资讯
文章数目 :
248
本站访客数 :
6233
本站总访问量 :
7202
最后更新时间 :
16 天前
©2023 - 2025 By Michael Pan
搜索