Openshift生产环境部署配置事项

Openshift生产环境部署配置事项,第1张

说明:xfs文件格式,docker overlay2存储设备必须设置 ftype=1 。

强制同步时间

将普通用户添加到docker用户组

/etc/sysconfig/docker-storage

DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 "

/etc/sysconfig/docker

OPTIONS=" --log-opt max-size=1M --log-opt max-file=3 --live-restore=true "

设置docker与kubelet的 cgroup driver 为systemd。OpenShift默认安装就是设置的systemd,而社区版的kubelet默认是cgroupfs,需要注意。。

添加文件

管理网:集群间组件通信,Node与Master节点通信网络

业务网:应用间网络通信,pod间网络通信

存储网:与存储设备网络通信

还可以将与外部镜像仓库的网络也考虑进去

每个网络,使用两张网卡做bond,提高网络性能及可用性。

其中管理网与业务网必须互通,否则部分组件服务将不可用。

将私有镜像仓库的CA文件拷贝到镜像仓库所在服务器的/etc/pki/ca-trust/source/anchors/目录下

为OpenShift节点设置默认的登录信息

OpenShift官方推荐规则

通常,它需要保留5%-10%的节点资源来保护节点,越高越安全。

AWS的规则:

内存预留值(AWS):

Reserved memory = 255MiB + 11MiB * MAX_POD_PER_INSTANCE

CPU预留值(AWS):

GKE的规则:

内存预留值(GKE):

CPU预留值(GKE)::

例子:2 vCPU and 7.5GB

Azure的规则:

内存预留值(Azure):

CPU预留值(Azure):

另外:

Google和亚马逊产品的hard eviction threshold 为100MB,而AKS则为750MB。

其中各证书的文件名不要使用与Master组件默认的名字重复,否则会覆盖掉组件间的自签证书。

另外可以自签证书生成长有效期的相关证书。 自签证书步骤如下:

OpenShift 3.11中默念Node的证书有效期为1年,满1年后会自动更新证书。更新证书时,该节点会向集群发送证书签发请求,批准之后才能继续添加到集群。

说明:对于已经部署好的集群可以通过执行ansible-playbook来配置

或者部署时更新以下文件内容(openshift 3.9以上)

roles/openshift_node/defaults/main.yml

将message日志只保留最近三天的日志

如果要设置普通用户可查看/var/log/messages文件,需要在/etc/rsyslog.conf配置的前面添加messages文件可读权限

做为定时任务定期作清理

ROUTER_THREADS 设置为CPU核数

ROUTER_MAX_CONNECTIONS 默认值是20000

设置页面HTML,覆盖/var/lib/haproxy/conf/error-page-503.http文件

补充 : Openshift自定义Router配置

minimum-container-ttl-duration : 容器可以进行垃圾收集的最低时长。 默认值为0,表示不限制。 可以使用单位后缀来指定此设置的值,例如h表示小时,m表示分钟,s表示秒。

maximum-dead-containers-per-container :每个pod容器要保留的实例数。 预设值为1。

maximum-dead-containers :节点中死容器总数的最大值。 默认值为-1,表示无限制。

核心步骤是:

具体 *** 作参考笔者之前的文章: OpenShift部署时如何延长组件证书的有效期

参考文章:

linux journalctl 命令

配置 logrotate 的终极指导

Allocatable memory and CPU in Kubernetes Nodes

OpenShift容器云平台建设之部署前准备

企业级容器云平台建设之功能汇总

预备条件

在开始创建这个应用以前,必须要做一些设置任务:

注册一个 OpenShift Account。它是完全免费的,而且Red Hat给每个用户提供三个免费的Gears,以便在其上运行应用。(译注:Gears 一系列资源的容器,允许用户在其中运行应用)在本文撰写的时候, 分配给每个用户的综合资源是1.5 GB内存和 3 GB磁盘空间。

在机器上安装 rhc client tool 。 rhc是 ruby的精华,因此机器需要有ruby 1.8.7 或更高版本。要安装 rhc, 只需敲入

sudo gem install rhc

如果已经有了一个,请确保它是最新的一个。要升级rhc,执行下面的命令。

sudo gem update rhc

用rhc创建命令,创建 OpenShift 帐号。这条命令将帮助创建一个命名空间,并上传ssh密钥到OpenShift 服务器。

第一步:创建应用

从创建一个OpenShift DIY 应用开始。这个应用叫做tomcat8。DIY策略提供了一个可以尝试和测试不支持事物的沙箱。

$ rhc app create tomcat8 diy

这个命令将会为我们创建一个叫做gear的应用容器,并且初始化好所有所需的SELinux策略(译注:Linux下一种访问控制体系)和cgroup配置(译注:Linux的一种资源控制的机制)。OpenShift还将为设置一个私有git仓库并且克隆这个仓库到本地的系统上。最后OpenShift会将程序的DNS公开。 其中domain-name可以替换为想要的唯一域名。gear容器预装了Java7环境。

第二步:停掉应用

DIY应用默认运行在ruby服务器上。因为需要安装Tomcat 8,所以需要停掉它。

$ rhc app stop -a tomcat8

RESULT:

tomcat8 stopped

第三步:删除不想要的文件

Tomcat8 文件夹下的DIY文件夹中有两个文件,一个为简单ruby web服务器的定义文件,另一个为index.html文件。因为不需要用到ruby服务器,所以删掉吧。

$ cd tomcat8

$ rm diy/index.html

$ rm diy/testrubyserver.rb

Windows用户请使用del而不是rm。

启动和停止ruby服务器的脚本在.openshift/action_hooks文件夹下,同样也不需要用到,将用新的文件取代他们。

$ rm .openshift/action_hooks/start

$ rm .openshift/action_hooks/stop

$ touch .openshift/action_hooks/start

$ touch .openshift/action_hooks/stop

对于Windows用户来说,touch命令只会创建一个空白文本文件。当然可以这样做,但是请确保文件最终在正确的目录下面。

第四步:提交修改

一旦删除了并且替换了启动和停止的脚本,需要提交这些更新到OpenShift应用,这样这些更新才能被应用。

$ git commit -am "deleted unwanted files and replaced start and stop scripts"

$ git push

第五步:SSH连接gear容器,下载Tomcat 8 源码

Apache Tomcat 8 现在还处于开发阶段,也没有试用版本,所以需要编译tomcat8源码。通过SSH连接到gear容器,按照如下的Tomcat git仓库地址将Tomcat源码拷贝下来。每个OpenShift gear容器都预装了git。下面的命令假定你已经在本地机器上进入到(译注:gear容器上)tomcat8的git仓库目录下。

$ rhc ssh -a tomcat8

$ cd $OPENSHIFT_DATA_DIR

$ mkdir source

$ cd source/


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11945932.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存