本文介绍在不需要修改应用代码的前提下,通过配置一个yaml文件,将阿里云容器服务Kubernetes集群中产生的日志输出到阿里云日志服务。此外,通过在Kubernetes集群上部署一个示例API程序,来进行演示。
前提条件
- 您已经开通容器服务,并且创建了Kubernetes集群。
本示例中,创建的Kubernetes集群位于华东 1地域。
- 启用AccessKey或RAM,确保有足够的访问权限。本例中使用AccessKey。
本文介绍在不需要修改应用代码的前提下,通过配置一个yaml文件,将阿里云容器服务Kubernetes集群中产生的日志输出到阿里云日志服务。此外,通过在Kubernetes集群上部署一个示例API程序,来进行演示。
本示例中,创建的Kubernetes集群位于华东 1地域。
JAVA_OPTS
。apiVersion: apps/v1
kind: Deployment
metadata:
name: log4j-appender-demo-spring-boot
labels:
app: log4j-appender
spec:
replicas: 1
selector:
matchLabels:
app: log4j-appender
template:
metadata:
labels:
app: log4j-appender
spec:
containers:
- name: log4j-appender-demo-spring-boot
image: registry.cn-hangzhou.aliyuncs.com/jaegertracing/log4j-appender-demo-spring-boot:0.0.2
env:
- name: JAVA_OPTS ##注意
value: "-Dproject={your_project} -Dlogstore={your_logstore} -Dendpoint={your_endpoint} -Daccess_key_id={your_access_key_id} -Daccess_key={your_access_key_secret}"
ports:
- containerPort: 8080
-Dproject
:您所使用的阿里云日志服务Project的名称。本示例中为k8s-log4j。
-Dlogstore
:您所使用的阿里云日志服务Logstore的名称。本示例中为k8s-logstore。
-Dendpoint
:日志服务的服务入口,用户需要根据日志Project所属的地域,配置自己的服务入口,参见服务入口进行查询。本示例中为cn-hangzhou.log.aliyuncs.com。
-Daccess_key_id
:您的AccessKey ID。
-Daccess_key
:您的AccessKey Secret。
kubectl create -f demo-deployment.yaml
kubectl create -f demo-service.yaml
kubectl get
命令查看资源对象部署状况,等待deployment和service部署成功后,执行kubectl get svc
查看service的外部访问IP,即EXTERNAL-IP。
命令如下:
kubectl get svc
结果如下:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
log4j-appender-demo-spring-boot-svc LoadBalancer 172.21.XX.XX 120.55.XXX.XXX 8080:30398/TCP 1h
login
命令来测试生成Kubernetes集群日志。其中K8S_SERVICE_IP
即为EXTERNAL-IP
。
curl http://${K8S_SERVICE_IP}:8080/login?name=bruce
在文档使用中是否遇到以下问题
更多建议
匿名提交