发布MySQL RC

mysql-rc.yaml

apiVersion: v1
kind: ReplicationController # 副本控制器RC
metadata:
  name: mysql # RC的名称,全局唯一
spec:
  replicas: 1 # Pod副本的期待数量
  selector:
    app: mysql # 符合目标的pod拥有此标签
  template: # 根据此模板创建Pod的副本
    metadata:
      labels:
        app: mysql # Pod副本拥有的标签,对应RC的Selector
    spec:
      containers: # Pod内容器的定义部分
        - name: mysql # 容器的名称
          image: mysql # 容器对应的Docker Image
          ports:
            - containerPort: 3306 # 容器内应用监听的端口号
          env: # 注入容器内的环境变量
            - name: MYSQL_ROOT_PASSWORD
              value: "123456"

发布命令
kubectl create -f mysql-rc.yaml

查看创建的RC
kubectl get rc

查看Pod的创建情况
kubectl get pods

发布MySQL Service

mysql-svc.yaml

apiVersion: v1
kind: Service # 表明是Kubernetes Service
metadata:
  name: mysql # Service的名称,全局唯一
spec:
  ports:
    - port: 3306 # Service提供服务的端口号
  selector: # Service对应的Pod拥有这里的标签
    app: mysql

创建Service
kubectl create -f mysql-svc.yaml

查看刚刚创建的Service
kubectl get svc

发布Tomcat RC

myweb-rc.yaml

apiVersion: v1
kind: ReplicationController # 副本控制器RC
metadata:
  name: myweb # RC的名称,全局唯一
spec:
  replicas: 2 # Pod副本的期待数量
  selector:
    app: myweb # 符合目标的pod拥有此标签
  template: # 根据此模板创建Pod的副本
    metadata:
      labels:
        app: myweb # Pod副本拥有的标签,对应RC的Selector
    spec:
      containers: # Pod内容器的定义部分
        - name: myweb # 容器的名称
          image: kubeguide/tomcat-app:v1 # 容器对应的Docker Image
          ports:
            - containerPort: 8080 # 容器内应用监听的端口号
          env: # 注入容器内的环境变量
            - name: MYSQL_SERVICE_HOST
              value: 10.111.122.226

创建RC
kubectl create -f myweb-rc.yaml

发布Tomcat Service

myweb-svc.yaml

apiVersion: v1
kind: Service # 表明是Kubernetes Service
metadata:
  name: myweb # Service的名称,全局唯一
spec:
  type: NodePort # 开启外网访问
  ports:
    - port: 8080 # Service提供服务的端口号
      nodePort: 30001 # 外网访问端口
  selector: # Service对应的Pod拥有这里的标签
    app: myweb

创建Service
kubectl create -f myweb-svc.yaml

访问测试

http://192.168.18.11:30001/
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐