k8s健康检测和存储试验

在上一篇简书中,我用k8s搭建了一个dns集群。

在这里将给这个集群增加一个健康检测和挂载本地存储

一、健康检测:

k8s提供了两类探针:livenessProbe和readinessProbe

        livenessProbe:用于判断容器是否存活。

        readinessProbe: 用于判断容器是否启动完成。

每类探针都有三种探测方法:

        exec:通过执行命令来检查服务是否正常,针对复杂检测或无HTTP接口的服务,命令返回值为0则表示容器健康。

        httpGet:通过发送http请求检查服务是否正常,返回200-399状态码则表明容器健康。

        tcpSocket:通过容器的IP和Port执行TCP检查,如果能够建立TCP连接,则表明容器健康。

这里将采用livenessProbe-tcpSocket的方式,判断bind的53端口:

livenessProbe: #健康检测

          initialDelaySeconds: 5 

          tcpSocket:

            port: 53

执行kubectl apply -f ,等待pod变running状态:

图1:第一次检测

接着把pod里面的named服务停止掉:

图2:第二次检测

稍等一会,再查看pod:

图3:pod把容器重启
图4:容器重启后,服务正常

成功!

二、configMap和volume

1.configMap

configMap api给我们提供了向容器中注入配置信息的机制,它可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。

config创建方式有使用目录创建、使用文件创建、使用字面值创建,详情请查看官网。这里采用文件创建。

采用文件创建方式: kubectl create configmap NAME --from-file=filename

--from-file  这个参数可以使用多次,效果就跟指定整个目录是一样的。

图5:查看创建的configMap

在pod中使用configMap有:使用configMap来替代环境变量,用configMap设置命令行参数,通过数据卷插件使用configMap

通过数据卷插件使用configMap:

    volumeMounts: #接在containers下:

    - name: root-conf   #named.conf配置信息

        mountPath: /etc/named.conf

        subPath: named.conf

    - name: zones-volume  #com.解析配置信息

        mountPath: /var/named/zones/root.master

        subPath: root.master

volumes: #与container同一级

    - name: zones-volume

        configMap:

            name: root-master #已经用文件创建好的configMap名字

            items:

            - key: root.master  #键就是文件名

                path: root.master  #值就是文件内容

    - name: root-conf

        configMap:

            name: root-conf

            items:

            - key: named.conf

                path: named.conf

执行kubectl apply -f ,等待pod变running状态:

图6:查看容器配置是否和configMap设置的一样

因此 ,通过修改configMap可以一次修改多个pod的配置文件。

2.volume

            volumeMounts: #挂载volume

        - name: zones-volume

          mountPath: /var/named/zones

      volumes:

      - name: zones-volume  #配置

        hostPath:

          path: /root/named/zones

          type: Directory

注意:pod所在节点的宿主机需要有这个目录,否则会报错。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容