
说明: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/
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)