创建demo应用部署的yaml文件demo-mysql-k8s.yaml
- # ------------------- Demo Deployment ------------------- #
- kind: Deployment
- apiVersion: apps/v1
- metadata:
- labels:
- name: demo
- name: demo
- spec:
- selector:
- matchLabels:
- app: demo
- template:
- metadata:
- labels:
- app: demo
- spec:
- containers:
- - name: demo
- image: 10.0.0.10:5000/app/demo:v2.0
- ports:
- - containerPort: 9999
- protocol: TCP
- env:
- - name: MYSQL_SERVICE_HOST
- value: '172.18.45.2'
- - name: MYSQL_SERVICE_PORT
- value: "3306"
- - name: MYSQL_DATABASE
- value: "demo"
- - name: MYSQL_ROOT_USER
- value: "root"
- - name: MYSQL_ROOT_PASSWORD
- value: "123456"
- livenessProbe:
- httpGet:
- scheme: HTTP
- path: /service/v1/demo
- port: 9999
- initialDelaySeconds: 30
- timeoutSeconds: 30
- ---
- # ------------------- Demo Service ------------------- #
-
- kind: Service
- apiVersion: v1
- metadata:
- labels:
- name: demo
- name: demo
- spec:
- ports:
- - port: 9900
- targetPort: 9999
- selector:
- app: demo
-
通过环境变量初始化了一些参数,这些参数与application-k8s.properties中的环境变量名对应,其中MYSQL_SERVICE_HOST是mysql部署后的enpoint IP地址。
通过kubectl命令行开始部署
- kubectl apply -f mysql-deployment.yaml
- service/mysql created
- deployment.apps/mysql created
查看mysql的endpoint IP地址
- kubectl get service
- NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
- kubernetes ClusterIP 172.10.12.1 <none> 443/TCP 63d
- mysql ClusterIP None <none> 3306/TCP 121m
-
- kubectl describe service mysql
- Name: mysql
- Namespace: default
- Labels: app=mysql
- Annotations: kubectl.kubernetes.io/last-applied-configuration:
- {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"mysql"},"name":"mysql","namespace":"default"},"spec":{"c...
- Selector: app=mysql
- Type: ClusterIP
- IP: None
- Port: <unset> 3306/TCP
- TargetPort: 3306/TCP
- Endpoints: 172.18.45.2:3306
- Session Affinity: None
- Events: <none>
-
可以看到mysql的enpoint IP地址是172.18.45.2,端口号是3306。 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|