分享自己的kubernetes部署和微服务、中间件部署教程和案例
    		       		warning:
    		            这篇文章距离上次修改已过439天,其中的内容可能已经有所变动。
    		        
        		                
                在Kubernetes上部署微服务和中间件可以通过编写YAML配置文件来实现。以下是一个简化的例子,展示了如何部署一个简单的微服务应用。
- 创建一个Deployment配置文件 my-service-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-service
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-service
  template:
    metadata:
      labels:
        app: my-service
    spec:
      containers:
      - name: my-service
        image: my-service-image:latest
        ports:
        - containerPort: 8080- 创建一个Service配置文件 my-service-service.yaml以使得服务可以在集群内部被访问:
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-service
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP- 应用这些配置文件到Kubernetes集群:
kubectl apply -f my-service-deployment.yaml
kubectl apply -f my-service-service.yaml这将创建一个名为 my-service 的Deployment,它将启动3个相同的Pod副本,并且Service将这些Pod暴露给集群外部,使得它们可以通过标准端口80进行访问。
对于中间件(如数据库),你可以使用StatefulSet来部署,例如部署一个PostgreSQL实例:
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mydb
spec:
  selector:
    matchLabels:
      app: mydb
  serviceName: "mydb"
  replicas: 3
  template:
    metadata:
      labels:
        app: mydb
    spec:
      containers:
      - name: mydb
        image: postgres:12
        ports:
        - containerPort: 5432
        env:
        - name: POSTGRES_DB
          value: mydb应用这个配置文件:
kubectl apply -f mydb-statefulset.yaml这将创建一个有3个副本的PostgreSQL StatefulSet,每个副本都有自己的持久存储。
评论已关闭