Helm部署SkyWalking

一 . 部署ElasticSearch

1.下载安装包

helm repo add elastic https://helm.elastic.co
helm pull elastic/elasticsearch --version 7.17.3
tar zxvf elasticsearch-7.17.3.tgz
helm install elasticsearch elasticsearch -n skywalking # 我是为了部署SkyWalking特意部署的es , 按需部署

2.创建PV

# 我本人是在华为云CCE集群中创建了三个PV , 名为es-cluster-master-es-cluster-master-0 ; es-cluster-master-es-cluster-master-1 ; es-cluster-master-es-cluster-master-2
# 但是 , 需要在执行helm install elasticsearch elasticsearch -n skywalking 这条命令之前创建 , 不然无法部署ES

# 一般部署可以通过网友的访问 , 创建三个yaml , 内容为👇 , 需要手动修改下name
apiVersion: "v1"
kind: "PersistentVolume"
metadata:
  name: "es-cluster-master-es-cluster-master-0"
spec:
  capacity:
    storage: "100Gi"
  accessModes:
    - "ReadWriteOnce"
  persistentVolumeReclaimPolicy: Recycle
  hostPath:
    path: /data/db/es-data
kubectl apply -f es-pv1.yaml
kubectl apply -f es-pv2.yaml
kubectl apply -f es-pv3.yaml

3.创建密码(我这里没有创建)

可以查看values.yaml文件,中有说明使用secret方式创建密码。

4.部署检测

 curl -XGET --user http://172.16.xx.xx:9200/_cat/nodes

5.参考链接

通过helm方式安装elasticsearch 7.17.3_helm安装elasticsearch7-CSDN博客

二 . 部署SkyWalking

1.下载安装包

git clone https://github.com/apache/skywalking-kubernetes # 不行的话 , 可以选择去github下载安装包
cd skywalking-kubernetes
helm repo add elastic https://helm.elastic.co

2.更新chart

helm dep up chart/skywalking # 更新不了请忽略
helm repo add skywalking https://apache.jfrog.io/artifactory/skywalking-helm

3.新建NameSpace

kubectl create namespace skywalking # 我本人的skywalking与ES在同一个namespace下部署的

4. 修改values-my-es.yaml文件

cd /data/skywalking-kubernetes/chart/skywalking
vim values-my-es.yaml
# 镜像包需要麻烦自己找一下传到本地的镜像仓库
initContainer:
  image: 镜像仓库地址/busybox
  tag: '1.28'

oap:
  image:
    repository: 镜像仓库地址/skywalking-oap-server
    tag: 10.1.0
  imagePullSecrets:
    - name: default-secret
  storageType: elasticsearch

ui:
  image:
    repository: 镜像仓库地址/skywalking-ui
    tag: 10.1.0
  imagePullSecrets:
    - name: default-secret

elasticsearch:
  enabled: false
  config:               # For users of an existing elasticsearch cluster,takes effect when `elasticsearch.enabled` is false
    host: elasticsearch-master # 同一个NameSpace下ES的SVC名称 , 按需修改
    port:
      http: 9200
#    user: "xxx"         # [optional] # ES的用户名密码 , 我这里ES是免密的
#    password: "xxx"     # [optional]

5.helm部署SkyWalking

helm install skywalking skywalking/skywalking -n skywalking --values /data/skywalking-kubernetes/chart/skywalking/values-my-es.yaml

6.访问方式

kubectl edit svc skywalking-ui -n skywalking
# 网友的解决办法 , 我本人是在华为云CCE通过将服务设置为NodePort , 然后配置CCE里面的Ingress实现访问
apiVersion: v1
kind: Service
metadata:
  annotations:
    meta.helm.sh/release-name: skywalking
    meta.helm.sh/release-namespace: skywalking
  labels:
    app: skywalking
    app.kubernetes.io/managed-by: Helm
    chart: skywalking-4.3.0
    component: ui
    heritage: Helm
    release: skywalking
  name: skywalking-ui
  namespace: skywalking
spec:
  clusterIP: 10.43.123.47
  clusterIPs:
  - 10.43.123.47
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - nodePort: 30001
    port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: skywalking
    component: ui
    release: skywalking
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

7.访问SkyWalking

按照网友的yaml就可以使用nodeIP:nodePort的方式访问skywalking的UI界面了。

我本人通过开通内网的DNS解析 , 网址绑定服务器以及开放8080端口号可以实现访问

8.参考链接

Kubernetes集群通过Helm部署skywalking及测试 - 滴滴滴 - 博客园)

helm3部署skywalking - 灰蓝色的白云梦想 - 博客园

posted @ 2024-11-29 14:19  凨筝  阅读(28)  评论(0编辑  收藏  举报