设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

一个简单的Kubernetes应用部署示例(3)

发布时间:2019-11-08 01:11 所属栏目:115 来源:云计算AND容器技术
导读:创建demo应用部署的yaml文件demo-mysql-k8s.yaml #-------------------DemoDeployment-------------------# kind:Deployment apiVersion:apps/v1 metadata: labels: name:demo name:demo spec: selector: matchLabe

创建demo应用部署的yaml文件demo-mysql-k8s.yaml

  1. # ------------------- Demo Deployment ------------------- # 
  2. kind: Deployment 
  3. apiVersion: apps/v1 
  4. metadata: 
  5.  labels: 
  6.  name: demo 
  7.  name: demo 
  8. spec:  
  9.  selector: 
  10.  matchLabels: 
  11.  app: demo 
  12.  template: 
  13.  metadata: 
  14.  labels: 
  15.  app: demo 
  16.  spec: 
  17.  containers: 
  18.  - name: demo 
  19.  image: 10.0.0.10:5000/app/demo:v2.0 
  20.  ports: 
  21.  - containerPort: 9999 
  22.  protocol: TCP 
  23.  env:  
  24.  - name: MYSQL_SERVICE_HOST 
  25.  value: '172.18.45.2' 
  26.  - name: MYSQL_SERVICE_PORT 
  27.  value: "3306" 
  28.  - name: MYSQL_DATABASE 
  29.  value: "demo" 
  30.  - name: MYSQL_ROOT_USER 
  31.  value: "root" 
  32.  - name: MYSQL_ROOT_PASSWORD 
  33.  value: "123456" 
  34.  livenessProbe: 
  35.  httpGet: 
  36.  scheme: HTTP 
  37.  path: /service/v1/demo 
  38.  port: 9999 
  39.  initialDelaySeconds: 30 
  40.  timeoutSeconds: 30 
  41. --- 
  42. # ------------------- Demo Service ------------------- # 
  43. ​ 
  44. kind: Service 
  45. apiVersion: v1 
  46. metadata: 
  47.  labels: 
  48.  name: demo 
  49.  name: demo 
  50. spec:  
  51.  ports: 
  52.  - port: 9900 
  53.  targetPort: 9999 
  54.  selector: 
  55.  app: demo 
  56.   

通过环境变量初始化了一些参数,这些参数与application-k8s.properties中的环境变量名对应,其中MYSQL_SERVICE_HOST是mysql部署后的enpoint IP地址。

通过kubectl命令行开始部署

  1. kubectl apply -f mysql-deployment.yaml 
  2. service/mysql created 
  3. deployment.apps/mysql created 

查看mysql的endpoint IP地址

  1. kubectl get service 
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 
  3. kubernetes ClusterIP 172.10.12.1 <none> 443/TCP 63d 
  4. mysql ClusterIP None <none> 3306/TCP 121m 
  5. ​ 
  6. kubectl describe service mysql 
  7. Name: mysql 
  8. Namespace: default 
  9. Labels: app=mysql 
  10. Annotations: kubectl.kubernetes.io/last-applied-configuration: 
  11.  {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"mysql"},"name":"mysql","namespace":"default"},"spec":{"c... 
  12. Selector: app=mysql 
  13. Type: ClusterIP 
  14. IP: None 
  15. Port: <unset> 3306/TCP 
  16. TargetPort: 3306/TCP 
  17. Endpoints: 172.18.45.2:3306 
  18. Session Affinity: None 
  19. Events: <none> 
  20. ​ 

可以看到mysql的enpoint IP地址是172.18.45.2,端口号是3306。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读