
k3s初探
大约 1 分钟
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>