SkyWalking部署-K8S

一、安装K8S集群

kubeadm部署K8s集群V1.19.0

二、部署skywalking

2.1.创建命名空间

复制代码
kubectl create ns skywalking

2.2.给节点打标签

复制代码
kubectl label node 节点名 nodetype=wedesign

2.3.skywalking-oap.yml

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: oap
  namespace: skywalking
spec:
  replicas: 1
  selector:
    matchLabels:
      app: oap
      release: skywalking
  template:
    metadata:
      labels:
        app: oap
        release: skywalking
    spec:
      nodeSelector:
       nodetype: wedesign
      containers:
        - name: oap
          image: apache/skywalking-oap-server:6.6.0-es6
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 11800
              name: grpc
            - containerPort: 12800
              name: rest
---
apiVersion: v1
kind: Service
metadata:
  name: oap
  namespace: skywalking
  labels:
    service: oap
spec:
  ports:
    - port: 12800
      name: rest
    - port: 11800
      name: grpc
  selector:
    app: oap
kubectl apply -f skywalking-oap.yml

2.4.skywalking-ui.yml

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ui-deployment
  namespace: skywalking
  labels:
    app: ui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ui
  template:
    metadata:
      labels:
        app: ui
    spec:
      nodeSelector:
       nodetype: wedesign
      containers:
        - name: ui
          image: apache/skywalking-ui:6.6.0
          ports:
            - containerPort: 8080
              name: page
          env:
            - name: SW_OAP_ADDRESS
              value: oap:12800
---
apiVersion: v1
kind: Service
metadata:
  name: ui
  namespace: skywalking
  labels:
    service: ui
spec:
  ports:
    - port: 8080
      name: page
      nodePort: 31008
  type: NodePort
  selector:
    app: ui
kubectl apply -f skywalking-ui.yml
2.5.访问

http://NodeIP:31008

三、sidecar 模式挂载 agent

参考文章:https://skywalking.apache.org/zh/blog/2019-08-30-how-to-use-Skywalking-Agent.html

四、微服务对接skywalking

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: web
  replicas: 1
  template:
    metadata:
      labels:
        app: web
    spec:
      initContainers:
        - image: spring2go/skywalking-agent-sidecar:6.6.0
          name: sw-agent-sidecar
          imagePullPolicy: IfNotPresent
          command: ["sh"]
          args:
            [
              "-c",
              "mkdir -p /skywalking/agent && cp -r /usr/skywalking/agent/* /skywalking/agent",
            ]
          volumeMounts:
            - mountPath: /skywalking/agent
              name: sw-agent
      containers:
        - name: web
          image: spring2go/spring-petclinic-web-app:1.0.0.RELEASE
          env:
            - name: JAVA_OPTS
              value: -javaagent:/usr/skywalking/agent/skywalking-agent.jar
            - name: SW_AGENT_NAME
              value: petclinic-web
            - name: SW_AGENT_COLLECTOR_BACKEND_SERVICES
              value: oap.skywalking:11800 # FQDN: servicename.namespacename.svc.cluster.local
            - name: SERVER_PORT
              value: "8080"
            - name: VISITS_SERVICE_ENDPOINT
              value: http://visits:8080
            - name: CUSTOMERS_SERVICE_ENDPOINT
              value: http://customers:8080
          volumeMounts:
            - mountPath: /usr/skywalking/agent
              name: sw-agent
      volumes:
        - name: sw-agent
          emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
  name: web
  labels:
    svc: web
spec:
  selector:
    app: web
  ports:
    - name: http
      port: 8080
      targetPort: 8080
  type: ClusterIP

**注意:**在java启动jar包时需要在java后面添加{JAVA_OPTS}变量,如java {JAVA_OPTS} -jar /opt/app.jar;如果不是用root用户启动java程序【例如devops】,还需要修改/usr/skywalking目录的所有者为devops

复制代码
chown -R devops.devops /usr/skywalking
相关推荐
一念一花一世界3 小时前
Arbess从入门到实战(16) - 使用Arbess+Gitee实现K8s自动化部署
ci/cd·云原生·容器·kubernetes·tiklab
java_logo4 小时前
Docker 部署 MinerU 教程:打造你的本地 PDF 智能处理中心
linux·运维·人工智能·docker·ai·容器·aigc
技术杠精5 小时前
Docker Swarm之Java 应用部署与平滑更新
java·docker·容器
ajax_beijing6 小时前
修改k8s的镜像源为国内镜像源
云原生·容器·kubernetes
A-刘晨阳6 小时前
K8S 二进制集群搭建(一主两从)
linux·运维·云原生·容器·kubernetes
祁同伟.7 小时前
【OJ】二叉树的经典OJ题
数据结构·c++·算法·容器·stl
thinktik7 小时前
AWS EKS 计算资源自动扩缩之Karpenter[AWS 海外区]
后端·kubernetes·aws
爱宇阳16 小时前
离线环境下运行 Docker 容器编排指南
docker·容器·eureka
回忆是昨天里的海19 小时前
k8s集群-节点间通信之安装kube-flannel插件
java·docker·kubernetes
ZHE|张恒21 小时前
Docker 安装 MinIO(20250422)
运维·docker·容器