美文网首页
Kubernetes + Dashboard + Heapste

Kubernetes + Dashboard + Heapste

作者: Medivh_ | 来源:发表于2018-01-20 17:03 被阅读431次

    部署错误总结

    1、hosts

    情景:
    检查POD状态时

    Error from server: Get https://centos-minion-2:10250/containerLogs/default/nginx-z34rn/nginx: dial tcp: lookup centos-minion-2 on 8.8.8.8:53: no such host
    

    原因:
    检查hosts,发现没有配置master机器的hosts 增加 minion-2的记录

    2、找不到POD

    一般在部署k8s环境的时候会设置多个namespace,比如一般应用默认使用default,k8s组件使用kube-system等等。所以如果你找不到了,但是它还运行着,说明你没找对地方。
    Namespace(命名空间)是kubernetes系统中的另一个重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。

    kubectl get pods -n kube-system -o wide
    #or 
    kubectl get all
    

    3、POD之间无法访问

    Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务;简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址,并使Docker容器可以互连。
    所以出现无法访问的情况时,一定是flannel 有问题。
    检查状态:

    systemctl status flannel
    

    4、Ingress-nginx 访问慢

    遇到过一次情况,内网机器部署Ingress-nginx后访问网站需要10多秒的时间。检查日志后发现是后端的backend有一台机器无法访问,因此造成多次重试。

    POD

    时间不一致

    情景:
    默认很多镜像的时区都不是东八区,所以和现在时间会差8小时。date -R检查时区。
    解决:

    1、TZ

    对于一般的docker镜像来说,添加个TZ变量就可以啦

    spec:
          containers:
          - name: dev-wechat-tomcat
            image: docker.io/tomcat
            env:
            - name: TZ
              value: Asia/Shanghai
    

    但不是对于所有镜像都有效的,我测试过一般的都可以,但是ingress-nginx-control镜像死活无效,至今没有什么好版本。最后只能用elk来调整一下。
    对于时区来说,还有其他集中方式:

    2、挂载

    spec:
          containers:
          - name: my-testpod
            image: 1604podimage:latest
            imagePullPolicy: IfNotPresent
            volumeMounts:
            - name: tz-config
              mountPath: /etc/localtime
          volumes:
          - name: tz-config
            hostPath:
              path: /usr/share/zoneinfo/Asia/Shanghai
    

    3、复制

    docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime
    

    个人比较倾向第一种方式,简单省事。不过也可以修改dockerfile一劳永逸。

    4、部署gitlab

    新部署的gitlab 项目地址显示为主机名。
    解决:
    vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

     ## GitLab settings
      gitlab:
        ## Web server settings (note: host is the FQDN, do not include http://)
        host: n15.my.com
        port: 80
        https: false
    
    

    持续更新中。。

    更多参考:
    Kubernetes + Dashboard + Heapster (一) 安装配置
    Kubernetes + Dashboard + Heapster (二) 监控部署
    Kubernetes + Dashboard + Heapster (三) ingress负载均衡
    Kubernetes + Dashboard + Heapster (四) 慢慢填坑

    相关文章

      网友评论

          本文标题:Kubernetes + Dashboard + Heapste

          本文链接:https://www.haomeiwen.com/subject/auutaxtx.html