rancher部署skywalking9.5
结果
k8s部署一套skywalking,多namespace共享,sidecar方式接入.轻松实现全链路监控
镜像下载到内网
docker pull apache/skywalking-oap-server:9.5.0
#打标上传
docker tag bb81e785d6b7 registry.cn-hangzhou.aliyuncs.com/earic/skywalking-oap-server:9.5.0
docker push registry.cn-hangzhou.aliyuncs.com/earic/skywalking-oap-server:9.5.0
自定义路径部署
Skywalking在9.0+版本后重做了前端UI,叫做“Booster UI”,以前的“Rocketbot UI”被弃用
可以直接下载已发布的源码,如:9.5.0
改代码
-
vite.config.ts
xxxxxxxxxx
vite.config.ts 下面增加: base: "./", // 类似publicPath,'./'避免打包访问后空白页面,要加上,不然线上也访问不了
-
src/router/index.ts
xxxxxxxxxx
src/router/index.ts 两处 createWebHistory 改为 createWebHashHistory
打包产出静态文件
cypress安装
解决Unzipping Cypress 0% 0s 。依赖nodejs版本,当前下载的是
v18.17.0
https://docs.cypress.io/guides/getting-started/installing-cypress#Direct-download
https://nodejs.org/download/release/latest-v18.x/
执行命令
xxxxxxxxxx
npm i
npm run build-only
打镜像
x
mkdir -p /mnt/d/publish/skw && cd /mnt/d/publish/skw
# 将上面dist文件移动到当前目录
cp -r /mnt/d/tmp/skywalking-booster-ui-9.5.0/dist/ .
cat <<EOF > passwd
cyk:\$apr1\$anOYsKSJ\$P2RT/hf0OHzuEyWciCsdZ1
EOF
cat <<EOF > web.conf
server
listen 80;
server_name _;
error_log /usr/local/openresty/nginx/logs/skw_error.log crit;
access_log /usr/local/openresty/nginx/logs/skw_access.log;
#新增下面两行
auth_basic "Please input password"; #这里是验证时的提示信息
auth_basic_user_file /usr/local/src/nginx/passwd;
index index.html index.htm;
location /
alias /usr/local/openresty/nginx/html/skw/;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
index index.html index.htm;
try_files \$uri \$uri/ /index.html;
# 禁止访问目录但允许访问文件
location /css/
root /usr/local/openresty/nginx/html/;
autoindex off;
proxy_store on;
location /img/
root /usr/local/openresty/nginx/html/;
autoindex off;
proxy_store on;
location /js/
root /usr/local/openresty/nginx/html/;
autoindex off;
proxy_store on;
error_page 500 502 503 504 /50x.html;
EOF
dos2unix web.conf
cat <<EOF > Dockerfile
FROM registry.cn-hangzhou.aliyuncs.com/earic/openresty:1.21.4.1-alpine
MAINTAINER wwj
COPY dist/ /usr/local/openresty/nginx/html/skw
COPY passwd/ /usr/local/src/nginx/passwd
#COPY web.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY web.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
EOF
## 解决mediaType in manifest should be ‘application/vnd.docker.distribution.man
export BUILDAH_FORMAT=docker
podman build --no-cache -t registry.cn-hangzhou.aliyuncs.com/earic/skw:$(date +"%Y-%m-%d_%H-%M-%S") .
podman push registry.cn-hangzhou.aliyuncs.com/earic/skw:2023-08-02_10-18-55
rancher部署
配置映射
- skw-alarm
xxxxxxxxxx
apiVersion v1
kind ConfigMap
metadata
name skw-alarm
annotations
# key: string
labels
# key: string
namespace cyk-uat
data
alarm-settings.yml -
rules
# Rule unique name, must be ended with `_rule`.
service_resp_time_rule
metrics-name service_resp_time
op">"
threshold1000
period10
count3
silence-period5
message Response time of service name is more than 1000ms in 3 minutes of last 10 minutes.
service_sla_rule
# Metrics value need to be long, double or int
metrics-name service_sla
op"<"
threshold8000
# The length of time to evaluate the metrics
period10
# How many times after the metrics match the condition, will trigger alarm
count2
# How many times of checks, the alarm keeps silence after alarm triggered, default as same as period.
silence-period3
message Successful rate of service name is lower than 80% in 2 minutes of last 10 minutes
service_resp_time_percentile_rule
# Metrics value need to be long, double or int
metrics-name service_percentile
op">"
threshold1000,1000,1000,1000,1000
period10
count3
silence-period5
message Percentile response time of service name alarm in 3 minutes of last 10 minutes, due to more than one condition of p50 > 1000, p75 > 1000, p90 > 1000, p95 > 1000, p99 > 1000
service_instance_resp_time_rule
metrics-name service_instance_resp_time
op">"
threshold1000
period10
count2
silence-period5
message Response time of service instance name is more than 1000ms in 2 minutes of last 10 minutes
database_access_resp_time_rule
metrics-name database_access_resp_time
threshold1000
op">"
period10
count2
message Response time of database access name is more than 1000ms in 2 minutes of last 10 minutes
endpoint_relation_resp_time_rule
metrics-name endpoint_relation_resp_time
threshold1000
op">"
period10
count2
message Response time of endpoint relation name is more than 1000ms in 2 minutes of last 10 minutes
dingtalkHooks
textTemplate -
"msgtype""text"
"text"
"content""Apache SkyWalking Alarm: \n %s."
webhooks
url https //oapi.dingtalk.com/robot/send?access_token=5258e3472e467162a944d92d306423c5a78ff10b0c03b0b092465fdde47ad119
__clonetrue
-
skw-config
xxxxxxxxxx
apiVersion v1
kind ConfigMap
metadata
name skw-config
annotations
labels
namespace cyk-uat
data
SW_STORAGE elasticsearch
SW_NAMESPACE skywalking-index
SW_STORAGE_ES_CLUSTER_NODES 10.128.159.509200
SW_ES_USER elastic
SW_STORAGE_DAY_STEP'1'
SW_STORAGE_ES_INDEX_REPLICAS_NUMBER'0'
SW_ES_PASSWORD 5NXWhVgg3ulraED1TnXu
SW_HEALTH_CHECKER default
SW_TELEMETRY none
SW_TELEMETRY_PROMETHEUS_HOST0.0.0.0
SW_TELEMETRY_PROMETHEUS_PORT'1234'
SW_PROMETHEUS_FETCHER_ACTIVE'true'
TZ Asia/Shanghai
JAVA_OPTS'-Xms1g -Xmx1g -Duser.timezone'
__clonetrue
升级后elasticsearch7要改elasticsearch,否则启动报错
CRT证书转JKS证书
如果没用https的es,跳过
xxxxxxxxxx
#crt转为p12证书
openssl pkcs12 -export -in ca.crt -inkey ca.key -out keystore.p12 -name "alias"
#p12 to jks
keytool -importkeystore -srckeystore keystore.p12 -destkeystore keystore.jks -deststoretype pkcs12
#jks to p12
keytool -importkeystore -srckeystore keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore keystore.p12
如果提示keytool不存在
xxxxxxxxxx
sudo yum install java-1.8.0-openjdk-devel
pem证书转pkcs12
xxxxxxxxxx
keytool -import -v -trustcacerts -file ca.pem -keystore es_keystore.jks -keypass changeit -storepass changeit
https指定证书用
xxxxxxxxxx
SW_SW_STORAGE_ES_SSL_JKS_PATH=/nfs/keystore.jks
实际没用Https的es,单独搭建了http的es
部署oap
pod设置存储
镜像设置
部署skw
相关推荐
skywalking是链路监控和应用性能监控软件。 本文介绍在rancher上部署skywalking,并监控应用
rancher-2.5.5 K8S Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z...
标题中的“rancher2.3.6部署redis集群配置教程.pdf”暗示了这份文档是针对特定版本的Rancher软件(版本号2.3.6)的使用教程,旨在指导用户如何部署Redis集群。Rancher是一款开源的容器管理平台,可以用来部署、管理...
rancher-2.5.5 K8S Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z...
### Kafka集群部署与运维知识点详解 #### 一、Kafka概览 Kafka是一种高性能的分布式消息系统,具有以下特点: - **数据持久性**:Kafka通过高效的磁盘数据结构来实现消息的持久化存储,即使面对大量数据也能保持...
Rancher搭建redis集群配置Rancher搭建Rancher搭建redis集群配置Rancher搭建Rancher搭建redis集群配置Rancher搭建Rancher搭建redis集群配置Rancher搭建
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
2. Rancher PaaS平台部署 3 2.1. 软硬件环境需求 3 2.1.1. 硬件要求 3 2.1.2. 操作系统要求 4 2.1.3. 软件要求 4 2.1.4. 网络要求 5 2.1.5. 主机名要求 5 2.2. 规划集群拓扑 5 2.2.1. 开发、测试环境拓扑(单Etcd、...
kubernetes单节点Rancher安装部署手册 kubernetes是一个开源的容器编排系统,可以自动部署、扩展和管理容器化应用程序。Rancher是一个kubernetes-as-a-service解决方案,提供了图形化界面来部署和管理kubernetes...
在Rancher中托管的现有Kubernetes群集上设置Metrics Server问题由于不赞成使用Heapster而采用了Metrics-Server,一些Kubernetes的默认设置发生了变化。 Metrics-Server还需要Heapster不需要的TLS证书CA文件。解决...
在Docker环境中部署Rancher时,可能会遇到Rancher证书过期的问题,这将导致Kubernetes集群内部的通信出现异常。以下是一个详尽的解决方案,涵盖了问题的原因、异常现象以及具体的解决步骤。 **问题原因** Rancher在...
Github使用Rancher API在Rancher中部署映像的操作 环境 RANCHER_ACCESS_KEY 在Rancher中创建的必需的API访问密钥。 RANCHER_SECRET_KEY 在Rancher中创建的必需的API密钥。 RANCHER_URL_API 牧场者项目工作负载的...
部署到Rancher用于将容器部署到Rancher的部署脚本(rancher.com) 此仓库包含一个部署脚本,用于将容器部署到Rancher。 部署将自动将服务部署到Rancher,进行就地滚动升级。 升级将一次升级一个容器,每个容器之间...
rancher-2.5.5 K8S Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z...
本文档编写的演示环境由3台本地虚拟机组成,Rancher-mysql-ha-node1、Rancher-mysql-ha-node2分别运行rancher、mysql和keepalived 节点服务。Harbor-hub-node运行harbor registry和离线环境下的yum repo,并运行...
包含NodePort,HostPort,ClusterIp几种方式自动化部署脚本。
springcloudparent rancher部署 springcloud搭建项目
在本篇内容中,我们将详细讨论如何使用Rancher 2.2版本部署Kubernetes(k8s)集群,以及涉及的关键组件和操作步骤。Rancher是一个流行的开源平台,用于管理和部署容器化应用程序,而Kubernetes则是一个自动化容器...
在Rancher环境中部署Traefik,首先要确保Rancher Server和Agent的运行。在Rancher UI中,通过添加主机并设置特定标签`traefik_lb=true`,可以将Traefik服务限制在特定主机上运行,实现专机专用,避免与其他服务冲突...