flannel

用户数从 0 到亿,我的 K8s 踩坑血泪史

和自甴很熟 提交于 2019-11-29 06:01:47
导读 :容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零到一亿的裂变式增长,充分享受了容器服务快速简便的扩容操作和高可用特性。作者使用容器服务 Kubernetes 集群将公司内系统完全上云 1 年多,本篇文章记录了其中的踩坑与优化记录。 创建集群 创建集群时,做好规划,选择优化好的集群配置,可以大大减少后期运维工作,其中部分集群的配置在建立后再也没法修改或者修改极其麻烦。 集群规划 网络规划: 网络类型: Flannel、Terway Terway 是阿里云容器服务自研的网络插件,功能上完全兼容 Flannel,如果保守,还是使用 Flannel Pod 网络 CIDR 默认 16 的大网段,有效的网段或者其子网 10.0.0.0/8,172.16-31.0.0/12-16,192.168.0.0/16 Service CIDR 默认 20 的网段,可选:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24 网段不能冲突重复,建立后没法修改; 多个区域的多个交换机。 公网访问 ApiServer 对于线上等安全要求高的集群,可以选择不暴露 apiserver, 只有私网 SLB, 但是这样没法使用云效发布; 日常预发等集群

Kubernetes Dashboard on Ubuntu 16.04安装记录

旧巷老猫 提交于 2019-11-29 04:52:41
Kubernetes Dashboard on Ubuntu 16.04安装记录 以下内容在Kubernetes 1.9.3 + Ubuntu 16.04.4(Server & Desktop)上试验通过。 Kubernetes Dashboard( https://github.com/kubernetes/dashboard )是Kubernetes的Web UI管理工具,可以支持多种K8s运行环境,在Docker for Mac上可以快速安装使用( https://my.oschina.net/u/2306127/blog/1606599 ),但在Ubuntu上有一些区别,这里是安装过程的记录。 1、安装flannel网络驱动 执行下面的命令,安装flannel网络驱动(是不同pod互访必须的驱动,可选其它的网络驱动): kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml !!!安装flannel网络出现pending挂起问题(podCidr参数丢失,即便在kubeadm运行时已指定): #查看日志: kubectl get pods --namespace kube-system kubectl --namespace

用户数从 0 到亿,我的 K8s 踩坑血泪史

家住魔仙堡 提交于 2019-11-29 04:48:53
作者 | 平名 阿里服务端开发技术专家 导读 :容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零到一亿的裂变式增长,充分享受了容器服务快速简便的扩容操作和高可用特性。作者使用容器服务 Kubernetes 集群将公司内系统完全上云 1 年多,本篇文章记录了其中的踩坑与优化记录。 关注“阿里巴巴云原生”公众号,回复关键词 **“资料”****,即可获得 2019 全年meetup 活动 PPT 合集及 K8s 最全知识图谱。** 创建集群 创建集群时,做好规划,选择优化好的集群配置,可以大大减少后期运维工作,其中部分集群的配置在建立后再也没法修改或者修改极其麻烦。 集群规划 网络规划: 网络类型: Flannel、Terway Terway 是阿里云容器服务自研的网络插件,功能上完全兼容 Flannel,如果保守,还是使用 Flannel Pod 网络 CIDR 默认 16 的大网段,有效的网段或者其子网 10.0.0.0/8,172.16-31.0.0/12-16,192.168.0.0/16 Service CIDR 默认 20 的网段,可选:10.0.0.0/16-24,172.16-31.0.0/16-24,192.168.0.0/16-24 网段不能冲突重复

Kubernetes NodePort Custom Port

…衆ロ難τιáo~ 提交于 2019-11-29 02:57:54
Is there way to specify a custom NodePort port in a kubernetes service YAML definition? I need to be able to define the port explicitly in my configuration file. You can set the type NodePort in your Service Deployment. Note that there is a Node Port Range configured for your API server with the option --service-node-port-range (by default 30000-32767 ). You can also specify a port in that range specifically by setting the nodePort attribute under the Port object, or the system will chose a port in that range for you. So a Service example with specified NodePort would look like this:

Kubernetes中的Pod无法访问外网-Ubuntu16.04 LTS

烈酒焚心 提交于 2019-11-28 12:33:01
Kubernetes中的Pod无法访问外网-Ubuntu16.04 LTS 安装完Kubernetes后,在Pod中使用wget无法访问外网URL地址,但是使用IP地址是可以访问,应该是 Pod内无法解析DNS导致的。 1、解决方法 尝试了将DNS换为CoreDNS,问题仍然存在。经过多次测试,发现下面的方法是可行的: 编辑主机的/etc/resolv.conf文件: # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN #nameserver 127.0.1.1 nameserver 192.168.199.1 nameserver 8.8.8.8 nameserver 9.9.9.9 search lan 如果/etc/resolv.conf为链接,则需要修改/etc/resolvconf/resolv.conf.d/base或head文件,然后运行resolvconf -u进行更新/etc/resolv.conf里的内容。 2、原因分析 Ubuntu16.04 LTS安装的resolvconf有一些问题,/etc/resolv

Kubernetes NodePort Custom Port

限于喜欢 提交于 2019-11-27 02:32:16
问题 Is there way to specify a custom NodePort port in a kubernetes service YAML definition? I need to be able to define the port explicitly in my configuration file. 回答1: You can set the type NodePort in your Service Deployment. Note that there is a Node Port Range configured for your API server with the option --service-node-port-range (by default 30000-32767 ). You can also specify a port in that range specifically by setting the nodePort attribute under the Port object, or the system will