kubernetes学习笔记

kubernetes,几个基础概念。Pod、Service、nameSpace、Secret等。

kind: ReplicationController

spec:
    replicas: 1      ----pod副本控制运行数量
    selector:
        app: mysql  ----标签选择器

    template:   ----pod生成模板
        metadata:
            labels:
                app: mysql ----生成pod标签,此标签已同selector下一致,不然RC每次创建出无法满足selector的pod,只会不断尝试在

                                        建新Pod,循环无解。

        spec:
        containers:  ----容器,有点类似docker的容器写法。
        -   name: mysql
            image: mysql
            ports:
            - containerPort:3306

        env:    ----注入到容器内的环境变量
            - name: MYSQL_ROOT_PWD
              value: "123456"

apiVersion: v1
kind: Service  ----Service 用于将Pods形成一个服务集群,会生成clusterIP+端口号,集群内可根据service name来使用service
metadata:
      name: mysql
spec:

    type: NodePort    ----此项可无,加上则此service(svc)开启了nodePort外网访问模式
    ports:
    - port:3306  ----Service提供服务的端口

      nodePort:3306 ----外网访问此服务的端口
    selector:
        app: mysql  ----用来选择service需要的pods

据此,就可以发布自已的服务了。

deployment、replica Set 与ReplicationController基本功能相似,可以看做是RC的升级。

服务里的clusterIP 是虚拟的,利用了DNS域名技术,访问此ip会利用组件kube-proxy进行分发。

 

你可能感兴趣的:(学习)