跳至主要內容
k3s初探

k3s初探

Mr.Lexon大约 1 分钟note

k3s初探

今天尝试一下k3s的部署方式,简单创建一个pod,这里默认已经把k3s安装好了 首先创建一个文件:

touch middleware-pod.yaml

文件内容:

apiVersion: v1
kind: Pod
metadata:
  name: middleware-pod
  namespace: default
  labels:
    app: middleware
spec:
  containers:
    - name: postgres
      image: postgres:15
      ports:
        - containerPort: 5432
      env:
        - name: POSTGRES_USER
          value: "admin"
        - name: POSTGRES_PASSWORD
          value: "123456"
        - name: POSTGRES_DB
          value: "appdb"
      volumeMounts:
        - name: postgres-data
          mountPath: /var/lib/postgresql/data

    - name: redis
      image: redis:7
      ports:
        - containerPort: 6379
      args: ["redis-server", "--appendonly", "yes"]

    - name: rocketmq-nameserver
      image: apache/rocketmq:5.2.0
      command: ["sh", "mqnamesrv"]
      ports:
        - containerPort: 9876

    - name: rocketmq-broker
      image: apache/rocketmq:5.2.0
      command: ["sh", "mqbroker"]
      args: ["-n", "127.0.0.1:9876"]
      ports:
        - containerPort: 10911
        - containerPort: 10909

  volumes:
    - name: postgres-data
      hostPath:
        path: /home/lexon/env/pgsql/data
        type: DirectoryOrCreate

---
# PostgreSQL Service
apiVersion: v1
kind: Service
metadata:
  name: postgres-service
  namespace: default
spec:
  type: NodePort
  selector:
    app: middleware
  ports:
    - port: 5432
      targetPort: 5432
      nodePort: 30432   # 宿主机访问: <NodeIP>:30432

---
# Redis Service
apiVersion: v1
kind: Service
metadata:
  name: redis-service
  namespace: default
spec:
  type: NodePort
  selector:
    app: middleware
  ports:
    - port: 6379
      targetPort: 6379
      nodePort: 30379   # 宿主机访问: <NodeIP>:30379

---
# RocketMQ NameServer Service
apiVersion: v1
kind: Service
metadata:
  name: rocketmq-nameserver-service
  namespace: default
spec:
  type: NodePort
  selector:
    app: middleware
  ports:
    - port: 9876
      targetPort: 9876
      nodePort: 30976   # 宿主机访问: <NodeIP>:30976

---
# RocketMQ Broker Service (修复后的版本)
apiVersion: v1
kind: Service
metadata:
  name: rocketmq-broker-service
  namespace: default
spec:
  type: NodePort
  selector:
    app: middleware
  ports:
    - name: broker-main
      port: 10911
      targetPort: 10911
      nodePort: 30911
    - name: broker-ha
      port: 10909
      targetPort: 10909
      nodePort: 30909

运行:

sudo kubectl apply -f middleware-pod.yaml

查看结果:

sudo kubectl get pods -o wide

结果:

NAME             READY   STATUS    RESTARTS   AGE   IP           NODE    NOMINATED NODE   READINESS GATES
middleware-pod   4/4     Running   0          10m   10.42.0.31   lexon   <none>           <none>
上次编辑于:
贡献者: lexon