K8s部署skwalking9.3
时间: 2023-07-21 17:33:03 浏览: 100
9.3 k8s部署和使用1
要在Kubernetes上部署SkyWalking 9.3,可以按照以下步骤操作:
1. 下载 SkyWalking 9.3 的发布包,并将其解压缩。
2. 创建一个 ConfigMap,用于存储 SkyWalking 的配置文件。可以使用以下命令:
```
kubectl create configmap sw-config --from-file=path/to/skywalking/config
```
3. 创建一个 Deployment,用于运行 SkyWalking 的 OAP 服务。可以使用以下 YAML 文件:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: sw-oap
spec:
replicas: 1
selector:
matchLabels:
app: sw-oap
template:
metadata:
labels:
app: sw-oap
spec:
containers:
- name: sw-oap
image: apache/skywalking-oap-server:9.3.0-es7
env:
- name: SW_STORAGE_ES_CLUSTER_NODES
value: elasticsearch:9200
- name: SW_STORAGE
value: elasticsearch
- name: SW_CONFIG
value: /skywalking/config
ports:
- containerPort: 12800
volumeMounts:
- name: config
mountPath: /skywalking/config
volumes:
- name: config
configMap:
name: sw-config
```
在这个 YAML 文件中,我们指定了 SkyWalking OAP 服务的镜像和环境变量。我们还将 ConfigMap 挂载到容器中,以便容器可以访问 SkyWalking 的配置文件。
4. 创建一个 Service,用于将 SkyWalking OAP 服务暴露给其他容器。可以使用以下 YAML 文件:
```
apiVersion: v1
kind: Service
metadata:
name: sw-oap
spec:
selector:
app: sw-oap
ports:
- name: http
port: 12800
```
在这个 YAML 文件中,我们指定了一个名为 sw-oap 的 Service,并将其与 SkyWalking OAP Deployment 中的容器关联起来。我们还指定了 Service 的端口号为 12800。
5. 创建一个 Deployment,用于运行 SkyWalking 的 Web UI 服务。可以使用以下 YAML 文件:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: sw-web
spec:
replicas: 1
selector:
matchLabels:
app: sw-web
template:
metadata:
labels:
app: sw-web
spec:
containers:
- name: sw-web
image: apache/skywalking-ui:9.3.0
env:
- name: SW_OAP_ADDRESS
value: sw-oap:12800
ports:
- containerPort: 8080
```
在这个 YAML 文件中,我们指定了 SkyWalking Web UI 服务的镜像和环境变量。我们还指定了 Web UI 服务需要连接的 SkyWalking OAP 服务的地址。
6. 创建一个 Service,用于将 SkyWalking Web UI 服务暴露给其他容器。可以使用以下 YAML 文件:
```
apiVersion: v1
kind: Service
metadata:
name: sw-web
spec:
selector:
app: sw-web
ports:
- name: http
port: 8080
```
在这个 YAML 文件中,我们指定了一个名为 sw-web 的 Service,并将其与 SkyWalking Web UI Deployment 中的容器关联起来。我们还指定了 Service 的端口号为 8080。
7. 部署 Elasticsearch。可以使用 Elasticsearch 的官方 Helm Chart 或者通过 YAML 文件手动创建 Elasticsearch 的 Deployment 和 Service。
8. 更新 SkyWalking OAP 服务的环境变量,以便它可以连接到 Elasticsearch。可以使用以下命令:
```
kubectl set env deployment/sw-oap SW_STORAGE_ES_CLUSTER_NODES=<elasticsearch-service>:9200
```
在这个命令中,我们将 SW_STORAGE_ES_CLUSTER_NODES 环境变量设置为 Elasticsearch Service 的地址。
9. 等待所有的容器都成功启动后,就可以访问 SkyWalking Web UI 服务了。可以使用以下命令获取 SkyWalking Web UI 服务的 URL:
```
minikube service sw-web --url
```
在这个命令中,我们使用 Minikube 的 Service 命令获取 SkyWalking Web UI Service 的 URL。
以上就是在 Kubernetes 上部署 SkyWalking 9.3 的步骤。需要注意的是,这只是一个基本的部署示例,实际的部署可能会因为环境和需求的不同而有所区别。
阅读全文