OpenShift管理节点Master与计算节点Node的配置说明
配置文件Master节点的配置文件地址:/etc/origin/master/master-config.yamlNode节点的配置文件在:openshift-node项目下的configmap中。OpenShift集群的配置信息都在这两个文件中,包括有覆盖默认插件,连接到etcd,自动创建服务帐户,构建映像名称,自定义项目请求,配置卷插件等等。
参考文章Master and Node Configuration
OpenShift自带的日志搜索引擎ES服务的扩容
有以下两种扩容方式:
存储扩容
节点扩容
存储扩容
查看集群的状态1$ oc exec $es-pod-name -c elasticsearch -- health
停止ES节点分片平衡1$ oc exec $es-pod-name -c elasticsearch -- curl --cert /etc/elasticsearch/secret/admin-cert --key /etc/elasticsearch/secret/admin-key --cacert /etc/elasticsearch/secret/admin-ca -XPUT https://localhost:9200/_cluster/settings -d '{"transient": {"cluster.routing.allocation.enable":"none"}}'
为每个ES节点的DC执行以下操作3.1 获取需要暂停的ES pod所在的Node节点1$ oc get ...
OpenShift节点kubelet证书过期异常的解决步骤
环境:OpenShift 3.10 or 3.11问题:
重新部署了新的CA,节点不再处于就绪状态。
如何手动强制创建新证书。
节点无法更新其证书,并出现以下错误:123atomic-openshift-node[3715]: I0313 11:40:48.864375 3715 bootstrap.go:56] Using bootstrap kubeconfig to generate TLS client cert, key and kubeconfig fileatomic-openshift-node[3715]: I0313 11:40:48.865525 3715 bootstrap.go:86] No valid private key and/or certificate found, reusing existing private key or creating a new oneatomic-openshift-node[3715]: F0313 11:40:48.893737 3715 server.go:262] failed to r ...
OpenShift解决Route-Https--Http无法跳转的问题
问题现象通过Route创建的edge类型的HTTPS,后端应用使用的是HTTP服务。但在某些情况下,后端应用使用Location时,Location地址为HTTP地址。这时浏览器将因为无法访问HTTP服务而无法实现跳转。
原理Haproxy在返回客户端时,检查返回Head,将Location地址中的HTTP替换为HTTPS,从而让浏览器获取正确的跳转链接。
解决办法更新haproxy-config.template,为edge请求的应用添加标注判断haproxy.router.openshift.io/location-scheme,如果它为https,则将Location请求中的http替换为https。具体配置如下:搜索 ssl_fc_alpn -i h2在其后添加如下配置
1234{{- if eq "https" (index $cfg.Annotaions "haproxy.router.openshift.io/location-scheme")}} acl check_location r ...
OpenShift访问外部需要认证的镜像仓库
docker login登录成功后,会在~/.docker/中创建config.json文件,内容格式如下:
123456{ "auths": { "https://registry.example.com": { "auth": "c2xmams6c2RmbGtq" }}
两种方式:
认证信息必须存放在OpenShift的NameSpace中的Secret下。12oc -n <test-namespace> create secret docker-registry <pull-secret> --docker-server=registry.example.com --docker-username=<username> --docker-email= ...
OpenShift运维点汇总
应用
部署
镜像同步(UAT->PRO) 应用部署配置
New Project/New App环境变量cpu与内存资源限制健康检查复本数量创建router特殊Node节点绑定pod的亲和与互斥pod网速限速(特别是对外提供服务的pod)
应用配置中心(gitlab)
更新
镜像同步应用新版本部署
监控
Pod EFKRegistry与Router等重要服务的监控
物理层
创建资源
负载均衡器NAS存储应用私有网络
监控
vpc负载均衡器主机状态监控(CPU与内存)
集群层
备份
etcd全量备份应用配置备份(Ark)应用备份(oc export)
集群版本管理
集群升级(每个大版本升级)
日志归档与清理
EFK日志清理hawkular-cassandra日志清理journal日志归档 1journalctl --vacuum-time=3days或者journalctl --vacuum-size=200M或者在/etc/systemd/journald.conf中设置日志大小 message日志归档
N ...
OpenShift通过EgressIP为Project设置对外的出口IP
集群管理员可以为项目分配特定的静态IP,方便外部系统能够识别项目下的应用的出口流量。
将出口IP分配到指定的Node
支持指定特定的IP
1$ oc patch hostsubnet <node-name> -p '{"egressIPs": ["192.168.1.2", "192.168.1.3"]}'
支持指定特定的IP段
1$ oc patch hostsubnet <node-name> -p '{"egressCIDRs": ["192.168.1.0/24"]}'
为项目指定静态出口IP1$ oc patch netnamespace <project-name> -p '{"egressIPs": ["192.168.1.100"]}'
OpenShift容器平台会自动以平 ...
OpenShift部署时如何延长组件证书的有效期
延长集群核心证书的有效期OpenShift集群正常运行中涉及到非常多的证书,有各节点通信的证书,有数据库的证书,有私有镜像仓库的证书,还有各种组件的证书(EFK、ClusterMonitor、Metrics等)。对于集群的相关证书可以通过在inventory文件中添加如下配置就可以非常方便地更改相关证书的默认有效期。
1234openshift_hosted_registry_cert_expire_days=3650openshift_ca_cert_expire_days=3650openshift_master_cert_expire_days=3650etcd_ca_default_days=3650
但是以上的几个配置对于一些组件并不起作用,如EFK等。
延长一些特殊组件证书的有效期openshift自签应用证书的有效期为2 or 5年。其中crt证书默认为两年,ca证书为5年。例如es中的证书中,admin-ca有效期为5年,admin-crt有效期为2年。
也就是说按照当前OpenShift安装的默认步骤安装的EFK组件,证书最短有效期为两年,两年后需要执行证书更新操作 ...
OpenShift集群健康检查
参考文章https://docs.openshift.com/container-platform/3.11/day_two_guide/environment_health_checks.html#day-two-guide-router-and-registry-health
Openshfit-4-1部署手册
设备与网络准备
网络要求
能够访问OpenShift Infrastructure Providers以下载安装程序
能访问quay.io以获取安装群集所需的软件包
能访问Red Hat’s software as a service page以获取相关订阅
准备节点 1 bootstrap节点 RHCOS,引导计算机部署集群,在完成部署后该机器可被删除 3 master节点 RHCOS 2 compte节点 RHCOS or RHEL 7.6
部署前准备
外部负载均衡器
配置主机端口
配置DNS
确保网络连接
以下端口必须能被集群中的所有机器访问
端口
说明
2379-2380
etcd server, peer, and metrics ports
6443
Kubernetes API
9000-9999
Host level services, including the node exporter on ports 9100-9101 and the Cluster Version Operator on port 9099.
102 ...