跳转至

18. 给MySQL添加svc

1. 为mysql服务创建service

1. 生成clusterip模板

kubectl create service clusterip mysql --tcp=3306:3306 --dry-run=client -oyaml > 3.mysql-svc-clusterip.yaml
root@k8s-master:/k8s/deployment/myblog# kubectl create service clusterip mysql --tcp=3306:3306 --dry-run=client -oyaml > 3.mysql-svc-clusterip.yaml
root@k8s-master:/k8s/deployment/myblog#
root@k8s-master:/k8s/deployment/myblog# cat 3.mysql-svc-clusterip.yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: mysql
  name: mysql
spec:
  ports:
  - name: 3306-3306
    port: 3306
    protocol: TCP
    targetPort: 3306
  selector:
    app: mysql
  type: ClusterIP
status:
  loadBalancer: {}

2. 修改

vim mysql-svc.yaml
#上一步生成的模板修改
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: mysql
  name: mysql
  namespace: demo   #加上命名空间
spec:
  ports:
  - name: 3306-3306 #端口名可改可不改
    port: 3306
    protocol: TCP
    targetPort: 3306
  selector:
    app: mysql
  type: ClusterIP
status:
  loadBalancer: {}
#老师之前的svc,感觉不如上面的号
apiVersion: v1
kind: Service
metadata:
  name: mysql
  namespace: demo
spec:
  ports:
  - port: 3306
    protocol: TCP
    targetPort: 3306
  selector:
    app: mysql
  type: ClusterIP

3. 创建mysql-svc

kubectl apply -f mysql-svc.yaml

4. 访问mysql

kubectl -n demo get svc mysql

curl 10.108.214.84:3306
root@k8s-master:/k8s/deployment/myblog# vim mysql-svc.yaml
root@k8s-master:/k8s/deployment/myblog#
root@k8s-master:/k8s/deployment/myblog# kubectl apply -f mysql-svc.yaml
service/mysql created
root@k8s-master:/k8s/deployment/myblog#
root@k8s-master:/k8s/deployment/myblog# kubectl -n demo get svc mysql
NAME    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
mysql   ClusterIP   10.101.254.45   <none>        3306/TCP   35s
root@k8s-master:/k8s/deployment/myblog#
root@k8s-master:/k8s/deployment/myblog# curl 10.101.254.45:3306
curl: (1) Received HTTP/0.9 when not allowed

root@k8s-master:/k8s/deployment/myblog#

最后更新: 2022-02-22 04:55:01