为什么我不写一些开源软件的安装步骤?
    第一,我觉得我没有能力抵上一个团队的力量,毕竟很多官方的开源软件都有很多社区的人共同维护的。他们已经把我们安装过程中的各个步骤都写的很完善了。

    第二,如果我在重复的写一些安装过程,无异于重复造轮子,不仅浪费时间,而且还有可能会很难考虑到各个环境的不同,写出来的东西并不能帮助其他人,至于安装过程这部分只需要参考官方网站即可。

    我们要做的就是找出自己与别人不一样的地方,做与别人不一样的事儿;只有这样才能脱颖而出,有些时候能让我们成功的往往是这些不一样的地方。

    我能做的只是在学习各个知识点的过程中,把自己遇到的各种问题总结出来,以供那些可能遇到和我一样问题的同仁参考足矣。

    下面提供几个有关学习k8s过程中的非常有用的网站

    1、https://kubernetes.io/
    这个是k8s的官方网站,提供了各种安装方法,步骤,名字解释;还有历年的博客文章,这个网站提供了各个语言的版本,可以自由切换,如果你的英文能力还可以,建议查看英文版,更原滋原味。

    2、https://cert-manager.io/docs/tutorials/acme/dns-validation/
    cert-manager 是一个云原生证书管理开源项目,用于在 Kubernetes 集群中提供 HTTPS 证书并自动续期,支持 Let’s Encrypt, HashiCorp Vault 这些免费证书的签发。在Kubernetes集群中,我们可以通过 Kubernetes Ingress 和 Let’s Encrypt 实现外部服务的自动化 HTTPS。
    在Kubernetes集群中使用 HTTPS 协议,需要一个证书管理器、一个证书自动签发服务,主要通过 Ingress 来发布 HTTPS 服务,因此需要Ingress Controller并进行配置,启用 HTTPS 及其路由。

    3、https://kubernetes.github.io/ingress-nginx/
    nginx Ingress Controller 是由 Nginx 与 Ingress Controller 两部分组成。
    Ingress
    与上述的几种类型不同,Ingress 实际上不是一种服务。它是位于多前面服务的不同,可以转发不同的域名请求到集群中不同的服务上,简单的理解,Ingress 就是从 Kubernetes 集群外访问集群的入口,将用户的URL请求转发到不同的 Service 上。Ingress 相当于 Nginx、Apache 等负载均衡方向代理服务器,其中还包括规则定义,即 URL 的路由信息,路由信息得的刷新由 Ingress controller 来提供。
    Ingress controller
    Ingress Controller 通过不断地跟 kubernetes API 打交道,实时的感知后端 service、pod 等变化,比如新增和减少 pod,service 增加与减少等;当得到这些变化信息后,Ingress Controller 再结合下文的 Ingress 生成配置,然后更新反向代理负载均衡器,并刷新其配置,达到服务发现的作用。对于 Ingress controller 来说,创建一个 Ingress 相当于在 nginx.conf 中添加一个 server 入口,并 nginx -s reload 重新生效。

    4、https://helm.sh/docs/
    helm是k8s集群的包管理工具,这个网站介绍了helm命令的介绍和使用方法,已经各种可用的chart库。

    helm的中文文档:
    http://www.coderdocument.com/docs/helm/v2/index.html

    5、https://artifacthub.io/
    提供各种helm chart库安装包,提供相同功能的还有https://github.com/helm/charts/tree/master/stable

    6、https://istio.io/latest/docs/concepts/what-is-istio/
    istio是k8s集群的好伙伴,叫服务网格,功能非常强大,Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。

    7、https://www.apache.org/dyn/closer.cgi/skywalking/kubernetes/4.0.0/skywalking-kubernetes-4.0.0-src.tgz
    skywalking提供了一个简单的方法来让你对你的分布式系统甚至是跨云的服务有清晰的了解。
    它更像是一个现代的系统性能管理,特别为分布式系统而设计。