k8s集群上部署mysql服务实践

系统管理员 2022-03-25 04:10 1419阅读 0赞

最近学习k8s相关知识,整理一下第一次部署经验~

在已经搭建好的k8s集群上部署mysql服务主要步骤如下:

1、创建一个新的namespace

2、在该namespace下创建一个deployment

3、deployment自动部署好replicaSet和pod

4、创建对应服务

5、验证是否成功

下面是具体的操作说明

1、创建一个新的namespace

#创建namespace ,命令行直接创建

$ kubectl create namespace test

2、在该namespace下创建一个deployment(env中设置了mysql的root用户的密码为mysql)

(1)编写deployment的对应yaml文件: mysql-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-deployment
namespace: test
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:

  1. - name: mysql
  2. image: mysql:5.6
  3. imagePullPolicy: IfNotPresent
  4. args:
  5. - "--ignore-db-dir=lost+found"
  6. ports:
  7. - containerPort: 3306
  8. env:
  9. - name: MYSQL\_ROOT\_PASSWORD
  10. value: "mysql"

(2)创建deployment

kubectl create -f mysql-deployment.yaml —record

3、deployment自动部署好replicaSet和pod

执行一下命令可以查看test namespace 下自动部署好replicaSet和pod

kubectl get rs -n test

kubectl get pod -n test

4、创建对应服务(注意定义type=NodePort,并对应的nodeport端口号,以便集群外访问该服务)

(1)创建对应的service的yaml文件:mysql-svc.yaml

apiVersion: v1
kind: Service
metadata:
name: mysql-svc
namespace: test
labels:
name: mysql-svc
spec:
type: NodePort
ports:

  • port: 3306
    protocol: TCP
    targetPort: 3306
    name: http
    nodePort: 33306
    selector:
    app: mysql

(2)创建对应的service

kubectl create -f mysql-svc.yaml —record

5、验证是否成功

在远程客户端上下载mysql客户端Navicat,进行验证

其中

主机:service对应的pod所在的node的ip

端口:上面service中的nodeport端口号

密码:deployment文件env中设置的root用户的密码)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW4xOTk1Y3Nkbg_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,1419人围观)

还没有评论,来说两句吧...

相关阅读

    相关 K8S部署

    一、利用ansible部署kubernetes准备: 集群介绍 本系列文档致力于提供快速部署高可用k8s集群的工具,并且也努力成为k8s实践、使用的参考书;基于二进