买好了域名 如何做网站国内工程机械行业网站建设现状

当前位置: 首页 > news >正文

买好了域名 如何做网站,国内工程机械行业网站建设现状,长沙seo步骤,网站建设中如何使用字体环境依赖#xff1a; K8s集群、helm 工具 Rancher组件架构 Rancher Server 包括用于管理整个 Rancher 部署的所有软件组件。 下图展示了 Rancher 2.x 的上层架构。下图中#xff0c;Rancher Server 管理两个下游 Kubernetes 集群
准备Rancher镜像推送到私有仓库 cat K8s集群、helm 工具 Rancher组件架构 Rancher Server 包括用于管理整个 Rancher 部署的所有软件组件。 下图展示了 Rancher 2.x 的上层架构。下图中Rancher Server 管理两个下游 Kubernetes 集群
准备Rancher镜像推送到私有仓库 cat rancher_imgages_list EOF rancher/fleet-agent:v0.8.1 rancher/fleet:v0.8.1 rancher/kubectl:v1.20.2 rancher/rancher:v2.7.10 rancher/rancher-agent:v2.7.10 rancher/shell:v0.1.21 rancher/gitjob:v0.1.76-security1 rancher/rancher-webhook:v0.3.6 rancher/mirrored-cluster-api-controller:v1.4.4 EOF for item in \((cat rancher_imgages_list) ; do docker pull \)item ; docker tag \(item harb.xxx.com/sre/\)item ; docker push harb.xxx.com/sre/\(item; doneSSL 自签证书 生成SSL自签证书脚本create_self-signed-cert.sh #!/bin/bashhelp () {echo echo --ssl-domain: 生成ssl证书需要的主域名如不指定则默认为www.rancher.local如果是ip访问服务则可忽略echo --ssl-trusted-ip: 一般ssl证书只信任域名的访问请求有时候需要使用ip去访问server那么需要给ssl证书添加扩展IP多个IP用逗号隔开echo --ssl-trusted-domain: 如果想多个域名访问则添加扩展域名SSL_TRUSTED_DOMAIN,多个扩展域名用逗号隔开echo --ssl-size: ssl加密位数默认2048echo --ssl-cn: 国家代码(2个字母的代号),默认CN;echo --ca-cert-recreate: 是否重新创建 ca-certca 证书默认有效期 10 年创建的 ssl 证书有效期如果是一年需要续签那么可以直接复用原来的 ca 证书默认 false;echo 使用示例:echo ./create_self-signed-cert.sh --ssl-domainwww.test.com --ssl-trusted-domainwww.test2.com \ echo --ssl-trusted-ip1.1.1.1,2.2.2.2,3.3.3.3 --ssl-size2048 --ssl-date3650echo }case \)1 in-h|–help) help; exit;; esacif [[ \(1 ]];thenhelp;exit; fiCMDOPTS\)* for OPTS in \(CMDOPTS; dokey\)(echo \({OPTS} | awk -F {print \)1} )value\((echo \){OPTS} | awk -F {print \(2} )case \)key in–ssl-domain) SSL_DOMAIN\(value ;;--ssl-trusted-ip) SSL_TRUSTED_IP\)value ;;–ssl-trusted-domain) SSL_TRUSTED_DOMAIN\(value ;;--ssl-size) SSL_SIZE\)value ;;–ssl-date) SSL_DATE\(value ;;--ca-date) CA_DATE\)value ;;–ssl-cn) CN\(value ;;--ca-cert-recreate) CA_CERT_RECREATE\)value ;;–ca-key-recreate) CA_KEY_RECREATE\(value ;;esac done# CA相关配置 CA_KEY_RECREATE\){CA_KEY_RECREATE:-false} CA_CERT_RECREATE\({CA_CERT_RECREATE:-false}CA_DATE\){CA_DATE:-3650} CA_KEY\({CA_KEY:-cakey.pem} CA_CERT\){CA_CERT:-cacerts.pem} CA_DOMAINcattle-ca# ssl相关配置 SSL_CONFIG\({SSL_CONFIG:-\)PWD/openssl.cnf} SSL_DOMAIN\({SSL_DOMAIN:-www.rancher.local} SSL_DATE\){SSL_DATE:-3650} SSL_SIZE\({SSL_SIZE:-2048}## 国家代码(2个字母的代号),默认CN; CN\){CN:-CN}SSL_KEY\(SSL_DOMAIN.key SSL_CSR\)SSL_DOMAIN.csr SSL_CERT\(SSL_DOMAIN.crtecho -e \033[32m ---------------------------- \033[0m echo -e \033[32m | 生成 SSL Cert | \033[0m echo -e \033[32m ---------------------------- \033[0m# 如果存在 ca-key 并且需要重新创建 ca-key if [[ -e ./\){CA_KEY} ]] [[ \({CA_KEY_RECREATE} true ]]; then# 先备份旧 ca-key然后重新创建 ca-keyecho -e \033[32m 1. 发现已存在 CA 私钥备份 \){CA_KEY} 为 \({CA_KEY}-bak然后重新创建 \033[0mmv \){CA_KEY} \({CA_KEY}-bak-\)(date %Y%m%d%H%M)openssl genrsa -out \({CA_KEY} \){SSL_SIZE}# 如果存在 ca-cert因为 ca-key 重新创建则需要重新创建 ca-cert。先备份然后重新创建 ca-certif [[ -e ./\({CA_CERT} ]]; thenecho -e \033[32m 2. 发现已存在 CA 证书先备份 \){CA_CERT} 为 \({CA_CERT}-bak然后重新创建 \033[0mmv \){CA_CERT} \({CA_CERT}-bak-\)(date %Y%m%d%H%M)openssl req -x509 -sha256 -new -nodes -key \({CA_KEY} -days \){CA_DATE} -out \({CA_CERT} -subj /C\){CN}/CN\({CA_DOMAIN}else# 如果不存在 ca-cert直接创建 ca-certecho -e \033[32m 2. 生成新的 CA 证书 \){CA_CERT} \033[0mopenssl req -x509 -sha256 -new -nodes -key \({CA_KEY} -days \){CA_DATE} -out \({CA_CERT} -subj /C\){CN}/CN\({CA_DOMAIN}fi# 如果存在 ca-key并且不需要重新创建 ca-key elif [[ -e ./\){CA_KEY} ]] [[ \({CA_KEY_RECREATE} false ]]; then# 存在旧 ca-key不需要重新创建直接复用echo -e \033[32m 1. 发现已存在 CA 私钥直接复用 CA 私钥 \){CA_KEY} \033[0m# 如果存在 ca-cert并且需要重新创建 ca-cert。先备份然后重新创建if [[ -e ./\({CA_CERT} ]] [[ \){CA_CERT_RECREATE} true ]]; thenecho -e \033[32m 2. 发现已存在 CA 证书先备份 \({CA_CERT} 为 \){CA_CERT}-bak然后重新创建 \033[0mmv \({CA_CERT} \){CA_CERT}-bak-\((date %Y%m%d%H%M)openssl req -x509 -sha256 -new -nodes -key \){CA_KEY} -days \({CA_DATE} -out \){CA_CERT} -subj /C\({CN}/CN\){CA_DOMAIN}# 如果存在 ca-cert并且不需要重新创建 ca-cert直接复用elif [[ -e ./\({CA_CERT} ]] [[ \){CA_CERT_RECREATE} false ]]; thenecho -e \033[32m 2. 发现已存在 CA 证书直接复用 CA 证书 \({CA_CERT} \033[0melse# 如果不存在 ca-cert 直接创建 ca-certecho -e \033[32m 2. 生成新的 CA 证书 \){CA_CERT} \033[0mopenssl req -x509 -sha256 -new -nodes -key \({CA_KEY} -days \){CA_DATE} -out \({CA_CERT} -subj /C\){CN}/CN\({CA_DOMAIN}fi# 如果不存在 ca-key else# ca-key 不存在直接生成echo -e \033[32m 1. 生成新的 CA 私钥 \){CA_KEY} \033[0mopenssl genrsa -out \({CA_KEY} \){SSL_SIZE}# 如果存在旧的 ca-cert先做备份然后重新生成 ca-certif [[ -e ./\({CA_CERT} ]]; thenecho -e \033[32m 2. 发现已存在 CA 证书先备份 \){CA_CERT} 为 \({CA_CERT}-bak然后重新创建 \033[0mmv \){CA_CERT} \({CA_CERT}-bak-\)(date %Y%m%d%H%M)openssl req -x509 -sha256 -new -nodes -key \({CA_KEY} -days \){CA_DATE} -out \({CA_CERT} -subj /C\){CN}/CN\({CA_DOMAIN}else# 不存在旧的 ca-cert直接生成 ca-certecho -e \033[32m 2. 生成新的 CA 证书 \){CA_CERT} \033[0mopenssl req -x509 -sha256 -new -nodes -key \({CA_KEY} -days \){CA_DATE} -out \({CA_CERT} -subj /C\){CN}/CN\({CA_DOMAIN}fifiecho -e \033[32m 3. 生成 Openssl 配置文件 \){SSL_CONFIG} \033[0m cat \({SSL_CONFIG} EOM [req] req_extensions v3_req distinguished_name req_distinguished_name [req_distinguished_name] [ v3_req ] basicConstraints CA:FALSE keyUsage nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage clientAuth, serverAuth EOMif [[ -n \){SSL_TRUSTED_IP} || -n \({SSL_TRUSTED_DOMAIN} || -n \){SSL_DOMAIN} ]]; thencat \({SSL_CONFIG} EOM subjectAltName alt_names [alt_names] EOMIFS,dns(\){SSL_TRUSTED_DOMAIN})dns(\({SSL_DOMAIN})for i in \){!dns[]}; doecho DNS.\(((i1)) \){dns[\(i]} \){SSL_CONFIG}doneif [[ -n \({SSL_TRUSTED_IP} ]]; thenip(\){SSL_TRUSTED_IP})for i in \({!ip[]}; doecho IP.\)((i1)) \({ip[\)i]} \({SSL_CONFIG}donefi fiecho -e \033[32m 4. 生成服务 SSL KEY \){SSL_KEY} \033[0m openssl genrsa -out \({SSL_KEY} \){SSL_SIZE}echo -e \033[32m 5. 生成服务 SSL CSR \({SSL_CSR} \033[0m openssl req -sha256 -new -key \){SSL_KEY} -out \({SSL_CSR} -subj /C\){CN}/CN\({SSL_DOMAIN} -config \){SSL_CONFIG}echo -e \033[32m 6. 生成服务 SSL CERT \({SSL_CERT} \033[0m openssl x509 -sha256 -req -in \){SSL_CSR} -CA \({CA_CERT} \-CAkey \){CA_KEY} -CAcreateserial -out \({SSL_CERT} \-days \){SSL_DATE} -extensions v3_req -extfile \({SSL_CONFIG}echo -e \033[32m 7. 证书制作完成 \033[0m echo echo -e \033[32m 8. 以 YAML 格式输出结果 \033[0m echo ---------------------------------------------------------- echo ca_key: | cat \)CA_KEY | sed s/^/ / echo echo ca_cert: | cat \(CA_CERT | sed s/^/ / echo echo ssl_key: | cat \)SSL_KEY | sed s/^/ / echo echo ssl_csr: | cat \(SSL_CSR | sed s/^/ / echo echo ssl_cert: | cat \)SSL_CERT | sed s/^/ / echoecho -e \033[32m 9. 附加 CA 证书到 Cert 文件 \033[0m cat \({CA_CERT} \){SSL_CERT} echo ssl_cert: | cat \(SSL_CERT | sed s/^/ / echoecho -e \033[32m 10. 重命名服务证书 \033[0m echo cp \){SSL_DOMAIN}.key tls.key cp \({SSL_DOMAIN}.key tls.key echo cp \){SSL_DOMAIN}.crt tls.crt cp ${SSL_DOMAIN}.crt tls.crt生成base-rancher.xxx.com域名自签SSL证书 bash create_self-signed-cert.sh –ssl-domainbase-rancher.xxx.com –ssl-trusted-domainbase-rancher-api.xxx.com –ssl-trusted-domainbase-rancher.xxxidc.com –ssl-trusted-ip192.168.24.107,1192.168.24.108,192.168.24.109 –ssl-size2048 –ssl-date36500创建 tls-rancher-ingress Secret 对象 kubectl -n cattle-system create secret tls tls-rancher-ingress
–certtls.crt
–keytls.key创建CA Secret 对象 kubectl -n cattle-system create secret generic tls-ca
–from-filecacerts.pem./cacerts.pemRancher Chart 准备 helm repo add rancher-stable https://releases.rancher.com/server-charts/stable helm repo update helm pull rancher-stable/rancher –version 2.7.10 tar xvf rancher-2.7.10.tgz -C ~/配置Chart values.yaml 文件 Chart 选项值配置参考 https://www.bookstack.cn/read/rancher-2.7-zh/9f027aa56a0b6d6f.md 这里对以下值做出修改 image.repository: harb.xxx.com/sre/rancher/mirrored-bci-micro ingress.ingressClassName: nginx tls.source: secret service.type: NodePort rancherImage: harb.xxx.com/sre/rancher/rancher rancherImageTag: v2.7.10 systemDefaultRegistry: harb.xxx.com/sre useBundledSystemChart: true bootstrapPassword: password离线安装Rancher Chart helm install rancher ~/rancher -f ~/rancher/values.yaml -n cattle-system在线安装Rancher Chart 镜像默认使用官方的地址 helm install rancher rancher-stable/rancher –version 2.7.10 –namespace cattle-system --set hostnamebase-rancher.xxx.com --set bootstrapPasswordadmin --set ingress.tls.sourcesecret --set privateCAtrue --set replicas3 --set ingress.ingressClassNamenginx --set service.type: NodePort网络请求链路 Waf – A10/F5 –Apisix – k8s Ranchcer svc Nodeport – Rancher Server (SSL证书配置在A10/F5最后请求流入到Rancher Server 的80 端口) Rancher-agent 优化 增加CPU与内存资源限制关掉缓存解决内存使用过多问题CATTLE_REQUEST_CACHE_DISABLEDtrue关闭fleet-agent服务 Rancher 卸载 https://github.com/rancher/rancher-cleanup/blob/main/deploy/rancher-cleanup.yaml 参考文档链接 Rancher 架构推荐 https://www.bookstack.cn/read/rancher-2.7-zh/039476df906a639a.md Rancher 与K8s版本兼容性https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-7-10/ Rancher安装文档 https://ranchermanager.docs.rancher.com/zh/v2.7/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha 2.7.5 版本开始支持K8s1.26 的版本