Kubernetes + Dashboard + Heapster (四) 慢慢填坑

部署错误总结

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 + Heapster (四) 慢慢填坑)