helm 安装 skywalking
参考网站
https://skyapm.github.io/document-cn-translation-of-skywalking/
https://github.com/apache/skywalking-kubernetes
https://github.com/apache/skywalking-kubernetes/blob/master/chart/skywalking/README.md
部署
前提:这里使用的是自己搭建的 es 集群,可参考:https://www.cnblogs.com/klvchen/articles/17445961.html
# 添加源
helm repo add skywalking https://apache.jfrog.io/artifactory/skywalking-helm
# 创建命名空间及目录
kubectl create ns skywalking
mkdir -p /data/yaml/skywalking && cd /data/yaml/skywalking
# 下载和安装
helm pull skywalking/skywalking
tar zxvf skywalking-4.3.0.tgz
cat >> my-values.yaml << EOF
oap:
image:
tag: 9.2.0
storageType: elasticsearch
ui:
image:
tag: 9.2.0
service:
type: NodePort
nodePort: 30880
elasticsearch:
enabled: false
config:
host: es-elasticsearch.default
port:
http: 9200
EOF
helm -n skywalking install skywalking -f my-values.yaml skywalking
kubectl -n skywalking get pod

测试
## 创建测试镜像路径
mkdir -p /data/images/mydemo2 && cd /data/images/mydemo2
# 根据你实际情况来修改
cat >> docker-entrypoint.sh << -'EOF'
#!/bin/bash
java -javaagent:/skywalking-agent/skywalking-agent.jar \
-Dskywalking.agent.service_name=${appName} \
-Dskywalking.collector.backend_service=skywalking-oap.skywalking:11800 \
-jar /${appName}.jar
-EOF
cat >> Dockerfile << EOF
FROM openjdk:17.0.2-slim
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" >/etc/timezone
ADD skywalking-agent skywalking-agent
ADD mydemo1-0.0.1-SNAPSHOT.jar mydemo2.jar
COPY docker-entrypoint.sh /
CMD [ "/bin/bash", "/docker-entrypoint.sh" ]
EOF
# 放进 mydemo1-0.0.1-SNAPSHOT.jar 包,可以参考 https://www.cnblogs.com/klvchen/articles/15307918.html
# 下载 apache-skywalking-java-agent,也可以官网中 agent 部分找到下载链接
wget https://dlcdn.apache.org/skywalking/java-agent/8.15.0/apache-skywalking-java-agent-8.15.0.tgz
tar zxf apache-skywalking-java-agent-8.15.0.tgz
# 打包镜像
docker build -t devharbor.junengcloud.com/tmp/mydemo2:0.2 .
docker push devharbor.junengcloud.com/tmp/mydemo2:0.2
# 部署到 K8S 上
mkdir -p /data/yaml/default/mydemo2 && cd /data/yaml/default/mydemo2
cat >> deployment.yml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: mydemo2
spec:
replicas: 1
selector:
matchLabels:
app: mydemo2
template:
metadata:
labels:
app: mydemo2
spec:
containers:
- name: mydemo2
image: devharbor.junengcloud.com/tmp/mydemo2:0.2
imagePullPolicy: IfNotPresent
env:
- name: appName
valueFrom:
fieldRef:
fieldPath: metadata.labels['app']
EOF
kubectl apply -f deployment.yml


浙公网安备 33010602011771号