云服务器内容精选
-
Helm3部署示例的环境准备 本节作为后续三个示例的环境准备,以环境准备中的chart目录为例,将使用如下模板,对CCE集群进行部署,在代码托管代码仓中,创建如下目录。 configmap.yaml部分片段: metadata: name: {{ .Values.configmapname }} deployment.yaml部分片段: spec: template: spec: containers: - image: '{{ .Values.imagename }}:{{ .Values.imagetag }}' values.yaml部分片段: configmapname: valuesfromfile imagename: httpd imagetag: latest {{ .Values.xxxx }} 对应Chart内values.yaml定义的变量。 以下三个示例,是在本节基础上进行的。 参考:Values文件使用说明。 示例1:使用Chart包或Chart文件结构目录部署 如果Chart中已有缺省values文件,则不需要指定制品仓库values文件,可直接部署。 其部署结果为: 对应CCE生成的configMap为: 对应CCE生成的deployment为: 示例2:通过指定制品仓库中的Values文件部署 本示例将演示,指定制品仓库中的Values文件进行部署。 外部values文件中定义的值将会覆盖Chart中values文件定义值。 外部Values的片段,本示例命名为values123.yaml: configmapname: valuesfile-releasenman imagename: nginx imagetag: stable 如下图,在“选择Values文件”中,选择制品仓库中的Values文件: 其部署结果为: 对应CCE控制台的configMap为: 对应CCE控制台的deployment为: 示例3:通过设置Values值进行部署 当设置了Values的值,其优先级会是最高的,会覆盖Chart内values文件设置值以及外部values文件内的设置值。 下面将以设置镜像版本的操作为例: Chart内values文件片段: imagetag: latest 制品仓库values文件片段: imagetag: stable 在设置values,填入: imagetag=perl 其部署结果为: 对应CCE控制台的deployment为:
-
Linux系统主机配置 为确保Linux系统主机连通性验证成功,Linux主机需确保安装Python并开启SELinux机制,目标主机需要满足以下条件。 目标主机安装Python: 需安装Python2.6及以上版本,如果已安装Python2.6以下版本,需要在主机上安装以下模块,各系统安装命令如下: Ubuntu系统 sudo apt install python-minimal python-simplejson Centos或Euler系统 sudo yum install python-minimal python-simplejson ln -s /usr/bin/python2 /usr/bin/python 采用Apt或者Yum安装工具时,请确保已配置可用的源。 主机开启SELinux机制并安装“libselinux-python”模块: 查看SELinux状态,命令如下: /usr/sbin/sestatus “SELinux”状态参数值所对应的模式: SELinux=disabled:未开启。 SELinux=enforcing:强制模式,表示所有违反安全策略的行为都将被禁止。 SELinux=permissive:宽容模式,表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。 若SELinux=disabled,则主机未开启该机制,需修改SELinux状态,步骤如下: 编辑SELinux的config文件,执行命令: vi /etc/selinux/config 根据实际情况选择修改SELinux参数为参数: SELinux=enforcing:强制模式,表示所有违反安全策略的行为都将被禁止。 SELinux=permissive:宽容模式,表示所有违反安全策略的行为不被禁止,但是会在日志中作记录。 修改完成按键盘“Esc键”,退出编辑模式,执行下面的命令,保存并退出文件。 wq 在根目录下创建隐藏文件.autorelabel,执行下面的命令后,重启Linux主机。 touch /.autorelabel 在主机上安装“libselinux-python”模块,各系统安装命令如下: Ubuntu系统 sudo apt install libselinux-python Centos或Euler系统 sudo yum install libselinux-python
-
Windows系统代理机配置 所需资源 已有Windows机器。 代理机和主机网络连通正常。 操作步骤 进入代理机,打开powershell窗口,执行netsh命令,注意按参数说明替换参数: netsh interface portproxy add v4tov4 listenaddress=${proxy_ip} listenport=${proxy_port} connectaddress=${host_ip} connectport=${host_port} 表2 参数说明 参数 参数释义 ${proxy_ip} 代理机私网IP ${proxy_port} 代理机监听端口,如54 ${host_ip} 主机私网IP ${host_port} 主机端口,一般为5986 进行安全配置,需要开通代理监听端口,即上述指令中的${proxy_port}。
-
方案架构 系统升级时,若采用蓝绿部署方式,开发人员需进行如下操作: 先将A边服务器(原蓝环境)下线,同时访问流量将全部切分到B边服务器,此时对A边服务器进行升级操作。 A边服务器升级完毕后,将A边服务器设为灰度测试环境,由测试人员对A边服务器进行灰度验证。 灰度验证完毕且功能正常后,A边业务服务器(绿环境)正式上线,并将所有流量切分到A边业务服务器,此时蓝绿部署完毕。 在服务运行过程中,如果A边服务器出现紧急情况,执行蓝绿倒换实现业务快速恢复。 图1 灰度发布原理 若采用金丝雀灰度部署方式,再重复前面的操作,将B边服务器进行升级,并完成灰度测试及正式上线,此时就完成新系统的灰度发布。
-
附录 A边节点下线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; #A节点下线 # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 部署节点 # 获取应用进程id pid=`ps -ef | grep app_name | grep -v grep | awk '{print $2}'` if [ -z "$pid" ]; then echo "[app_name pid is not exist.]" else echo "app_name pid: $pid " # 停止该进程 kill -15 $pid fi # 重新启动应用,可通过执行部署脚本和部署命令两种方式启动应用,如下: # 方式一:通过执行部署脚本启动应用 # sh startup.sh # 方式二:通过执行命令启动应用,建议采用nohup后台启动方式 # nohup java -jar /usr/local/app/SpringbootDemo.jar & A边节点灰度上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; #A节点下线 # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; #A节点灰度上线 # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP if ( $remote_addr ~* "X.X.X.X") { set $backend $test; } proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } B边节点下线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; #B节点下线 } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } B边节点灰度上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; #B节点下线 } upstream portal_test { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; #B节点灰度上线 } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP if ( $remote_addr ~* "X.X.X.X") { set $backend $test; } proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 节点上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
-
处理方法 win+R打开运行窗口,输入“regedit”打开Windows的注册表编辑器,定位到以下路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 在右侧窗口中,找到名为TcpTimedWaitDelay的DWORD值。如果该值不存在,则需要手动创建。 修改TcpTimedWaitDelay参数数值为需要设置的值(以毫秒为单位),例如,将TcpTimedWaitDelay设置为1分钟(60000毫秒)。 重启计算机使配置生效。 修改TcpTimedWaitDelay的值可能会影响网络性能和安全性,请根据业务需要自行评估。单环境中包含多台Windows目标主机执行部署时,建议采用分批部署方式,避免修改TcpTimedWaitDelay值造成未知影响。
-
部署应用时错误信息的说明有哪些? 在部署应用过程中,部署失败后日志中提示错误信息及说明,如下表所示: 错误信息 错误信息说明 The host ip is invalid, Please check 主机不可用,主机ip不能是127.0.0.1或者localhost [group_vars/all] is not found, Please check [group_vars/all]文件未找到,请确认入口文件所在目录下是否包含[group_vars/all]文件 The parameter value is invalid, Please check! 参数值存在不识别的字符,参数值仅支持ASCII(除“{{”,“{%”,“{#”) The parameter value is invalid, Please check! 参数名称中存在不识别的字符,参数只能包含_、数字与大小写字母 父主题: 应用部署
-
查看本机器是否有IIS功能 请根据下面的步骤查看机器版本是否有iis功能。 以“Windows Server 2012 R2英文版操作系统”为例: 打开计算机,单击“卸载或更改程序”如下图所示 图1 卸载或更改程序 然后单击“启用或关闭Windows功能”如下图所示。 图2 启用或关闭Windows功能 在打开的页面中单击“Next” 如下两张图所示进行操作。 图3 操作示意 图4 操作示意 在打开的页面中查找“Web Server(IIS)” 如下图所示,如若不存在,则该版本不支持IIS功能。 图5 操作示意 父主题: 新建IIS站点
-
问题现象 日志提示如下信息: "msg": "Failed to find handler for \"usr/local/python/Python-3.5.4.tgz\". Make sure the required command to extract the file is installed. Command \"/usr/bin/unzip\" could not handle archive. Command \"/usr/bin/gtar\" could not handle archive."}
-
解决方法 使用命令 “ping $domainName”(其中$domainName为apt源链接对应的 域名 ),检查网络连通性,如果网络连通正常请检查防火墙和安全组(如下2、3),否则请联系相关网络管理员打通网络。 对于防火墙限制出方向: 执行命令“iptables -nL”,查看防火墙出方向限制清单是否包含80端口。 对于云主机安全组出方向规则策略限制: 联系相关网络管理员设置安全组出方向规则策略。
-
处理方法 使用命令 “ping $domainName”(其中$domainName为yum源链接对应的域名),检查网络连通性,如果网络连通正常请检查防火墙和安全组(如下2、3),否则请联系相关网络管理员打通网络。 对于防火墙限制出方向: 执行命令“iptables -nL”,查看防火墙出方向限制清单是否包含80端口。 对于云主机安全组出方向规则策略限制: 联系相关网络管理员设置安全组出方向规则策略。
-
问题现象 当部署主机相关的应用时,出现如下日志: 以路径为例,有以下几种常见现象: 输入的路径参数有“\b”特殊字符导致部署报错,如下图所示。 图1 日志信息 输入的路径参数有“\f”特殊字符导致部署报错,如下图所示。 图2 日志信息 输入的路径参数有“\r”特殊字符导致部署报错,如下图所示。 图3 日志信息 输入的路径参数有“\t”特殊字符导致部署报错,如下图所示。 图4 日志信息 输入的路径参数有“\n”特殊字符导致部署报错,如下图所示。 图5 日志信息
-
问题现象 日志提示如下信息: "msg": "Failed to find handler for \"usr/local/python/Python-3.5.4.tgz\". Make sure the required command to extract the file is installed. Command \"/usr/bin/unzip\" could not handle archive. Command \"/usr/bin/gtar\" could not handle archive."}
-
解决方法 使用命令 “ping $domainName”(其中$domainName为apt源链接对应的域名),检查网络连通性,如果网络连通正常请检查防火墙和安全组(如下2、3),否则请联系相关网络管理员打通网络。 对于防火墙限制出方向: 执行命令“iptables -nL”,查看防火墙出方向限制清单是否包含80端口。 对于云主机安全组出方向规则策略限制: 联系相关网络管理员设置安全组出方向规则策略。
-
处理方法 使用命令 “ping $domainName”(其中$domainName为yum源链接对应的域名),检查网络连通性,如果网络连通正常请检查防火墙和安全组(如下2、3),否则请联系相关网络管理员打通网络。 对于防火墙限制出方向: 执行命令“iptables -nL”,查看防火墙出方向限制清单是否包含80端口。 对于云主机安全组出方向规则策略限制: 联系相关网络管理员设置安全组出方向规则策略。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格