PAAS

面向应用的无服务器架构

根据多年在IAAS/PAAS平台的建议经验,并帮助多个行业例如医疗,电信, 建筑行业客户向互联网IAAS/PAAS平台的迁移,在这里做一些直观的分享, 希望能为中小企业上云提供一些有价值的建议。 本帖中部分建议只是针对没有自己数据中心的中小企业,如果已经拥有自己的数据中心, 需要根据目前的计算能力选择相应的云服务厂商 云服务模型 从云服务模型可以看出,企业上云有以下路径可选。 但导向是一致的,专注业务,IT外包。 从自建数据中心向IaaS平台迁移 从IaaS平台向PaaS迁移 在公有云厂家间迁移 从IaaS平台向FaaS迁移 混合云 上云的初级阶段: 购买云主机, 购买云主机的性价比指标和物理主机的指标完全不同, 如何选择最高性价比的云主机,参考 云主机主要性价比指标 硬盘转速的指标对云主机不再适用,云主机的性价比指标主要有以下几个: 云主机内网/外网平均带宽(最核心指标) 存储(网络硬盘)IO吞吐量 初始化完成后首次资源利用率 其中内网平均带宽是最核心的指标,不仅关乎到MONEY的问题,而且对你的应用架构 起决定性的影响,原来的应用架构在云主机模式将会长期处于网络IO阻塞状态。造成 这种问题的根本原因不是你原来的架构不好,而是公有云厂商的网络性能太差,在2016 年的时候,阿里的平均带宽还不到100M每秒。AWS大概在200M每秒。 网络带宽是很多企业战略转型决定上云遇到的第一个大坑 内网平均带宽也是衡量私有云厂商服务能力的核心指标 所以公有云厂商又开始向你兜售混合云概念。混合云不符合公有云厂商的核心利益 国内外云厂商主要产品基准测试对比图 上云注意事项 上云的中级阶段:PaaS 如何选择PAAS供应商 上云的终级阶段: 不需要服务器。 如何选择FAAS供应商

K8s Openshift

v3.11.0->k8s 1.11 openshift all-in-one curl https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz tar zxf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz cd openshift export PATH="$(pwd)":$PATH sudo ./openshift start master oc setup export KUBECONFIG="$(pwd)"/openshift.local.config/master/admin.kubeconfig export CURL_CA_BUNDLE="$(pwd)"/openshift.local.config/master/ca.crt sudo chmod +r "$(pwd)"/openshift.local.config/master/admin.kubeconfig openshift complition bash > /usr/share/bash-completion/completions/openshift.complition.sh master and node configuration after installation /etc/origin/master/master-config.yaml identityProviders: - name: my_allow_provider challenge: true login: true provider: apiVersion: v1 kind: AllowAllPasswordIdentityProvider corsAllowedOrigins Identity Providers The OpenShift master includes a built-in OAuth server the Deny All identity provider is used by default, which denies access for all user names and passwords.

K8S notes

docker Entrypoint vs k8s command docker k8s entry ENTRYPOINT command arguments CMD args k8s command and args override the default Entrypoint and Cmd Dockerfile FROM alpine:3.8 RUN apk add --no-cache curl ethtool && rm -rf /var/cache/apk/* CMD ["--version"] ENTRYPOINT ["curl"] cmd-override-pod.yaml apiVersion: v1 kind: Pod metadata: name: command-override labels: purpose: override-command spec: containers: - name: command-override-container image: bigo/curl:v1 command: ["curl"] args: ["--help"] restartPolicy: Never docker run -it bigo/curl:v1 curl 7.

K8S local development setup from source code

Setup a local development environment from source code with kubeadm