nginx
nginx-rc.yaml
apiVersion: v1kind: ReplicationControllermetadata: name: nginx-controller labels: name: nginxspec: replicas: 2 selector: name: nginx template: metadata: labels: name: nginx spec: containers: - name: nginx image: docker.io/blacklabelops/nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80
nginx-svc.yaml
apiVersion: v1kind: Servicemetadata: name: nginx labels: name: nginx-servciespec: type: NodePort ports: - port: 8000 protocol: TCP targetPort: 80 nodePort: 30088 selector: name: nginx
mysql
mysql-rc.yaml
apiVersion: v1kind: ReplicationControllermetadata: name: mysqlspec: replicas: 1 selector: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "123456"
mysql-svc.yaml
apiVersion: v1 kind: Service #表明是K8s Servicemetadata: name: mysql #Service的全局唯一名称spec: ports: - port: 3306 #Service提供服务的端口号 selector: #Service对应的Pod拥有这里定义的标签 app: mysql
myweb
myweb-rc.yaml
apiVersion: v1kind: ReplicationControllermetadata: name: mywebspec: replicas: 1 #Pod副本期待数量为5 selector: app: myweb template: metadata: labels: app: myweb spec: containers: - name: myweb image: kubeguide/tomcat-app:v1 ports: - containerPort: 8080 env: - name: MYSQL_SERVICE_HOST value: "mysql" - name: MYSQL_SERVICE_PORT value: "3306"
myweb-svc.yaml
apiVersion: v1kind: Servicemetadata: name: mywebspec: type: NodePort ports: - port: 8080 nodePort: 31111 selector: app: myweb