Kubernetes 系列知识拓展

  1. kube-promethuse 编写jsonnet

    Kube-prometheus提供的yaml都是由jsonnet生成的,我们也可以使用它的思想来编写jsonnet然后转为yaml文件。

    在目录jsonnet/kube-prometheus/alerts下按jsonnet语法编写告警规则。

    执行docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) quay.io/coreos/jsonnet-ci jb update拉取并更新jsonnet环境。

    quay.io/coreos/jsonnet-ci镜像较大,需要较长时间。

    在Kube-prometheus项目根目录下执行docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) quay.io/coreos/jsonnet-ci ./build.sh example.jsonnet将jsonnet项目输出为yaml文件。

    执行完后,manifests目录下的文件就都重新生成了,重新apply后即可生效。

  2. kubeadm 安装指定版本的 k8s 集群

    1. 选择安装 v1.16.9 的 kubeadm:

      [root@akito-192 ~]# yum install kubelet-1.16.9-0 kubeadm-1.16.9-0 kubectl-1.16.9-0
    2. 执行 kubeadm init 执行节点安装 k8s 集群时,最大的问题是在此过程中会去 k8s.gcr.io 的 kubernetes 官方镜像源下载 k8s 组件的镜像,所以我们可以提前预下载所需要的组件镜像:

      查看 kubeadm init 时所需要的组件镜像列表:

      [root@akito-192 ~]# kubeadm config images list
      k8s.gcr.io/kube-apiserver:v1.16.9
      k8s.gcr.io/kube-controller-manager:v1.16.9
      k8s.gcr.io/kube-scheduler:v1.16.9
      k8s.gcr.io/kube-proxy:v1.16.9
      k8s.gcr.io/pause:3.1
      k8s.gcr.io/etcd:3.3.15-0
      k8s.gcr.io/coredns:1.6.2

      编写脚本,使用阿里云的 k8s 官方镜像源来下载这些镜像:

      脚本的作用是从阿里云的 kubernetes 镜像源拉取镜像到本地,然后修改镜像的标签,以符合 k8s.gcr.io 的地址格式。
      cat <<EOF > pull-k8s-images.sh
      for i in `kubeadm config images list`; do
        imageName=${i#k8s.gcr.io/}
        docker pull registry.aliyuncs.com/google_containers/$imageName
        docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
        docker rmi registry.aliyuncs.com/google_containers/$imageName
      done;
      EOF
  3. ingress  SSL/HTTPS

    可能我们想让网站使用安全的 HTTPS 服务,Kubernetes Ingress 也提供了简单的 TLS 校验,这意味着它会处理所有的 SSL 通信、解密/校验 SSL 请求,然后将这些解密后的请求发送到内部服务去。

    如果你的多个内部服务使用相同(可能是通配符)的 SSL 证书,这样我们就只需要在 Ingress 上配置一次,而不需要在内部服务上去配置,Ingress 可以使用配置的 TLS Kubernetes Secret 来配置 SSL 证书。

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
     name: tls-example-ingress
    spec:
     tls:
     - hosts:
     - sslexample.foo.com
     secretName: testsecret-tls
     rules:
     - host: sslexample.foo.com
     http:
     paths:
     - path: /
     backend:
     serviceName: service1
     servicePort: 80

    不过需要注意的是如果你在不同的命名空间有多个 Ingress 资源,那么你的 TLS secret 也需要在你使用的 Ingress 资源的所有命名空间中可用。

  4. 详解Kubernetes Operators

  5. K8S实战(系列)| 配置 NFS 动态卷提供持久化存储

    1. https://segmentfault.com/a/1190000024512057
    2. https://segmentfault.com/u/zuolinux
  6. Istio 运维实战系列(1):应用容器对 Envoy Sidecar 的启动依赖问题

    1. https://segmentfault.com/a/1190000023954715
  7. 被 Google 选择的下一代数据面 Cilium 是什么 - 上手实践

    1. https://segmentfault.com/a/1190000023880776
  8. 如何扩展单个Prometheus实现近万Kubernetes集群监控?

    1. https://segmentfault.com/a/1190000023836802
  9. 十大必须知道的Kubernetes设计模式

    1. https://segmentfault.com/a/1190000022683071
    2. https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns
  10. Kubernetes 1.20.5 安装Prometheus-Oprator

    1. https://segmentfault.com/a/1190000040301188
    2. http://www.mydlq.club/article/10/
  11. 简述Kubernetes容器日志收集原理!

    1. https://segmentfault.com/a/1190000040241903
  12. K8s通过Helm部署入门

    1. https://segmentfault.com/a/1190000040190971
  13. Kubernetes存储之PC-PVC

    1. https://segmentfault.com/a/1190000040023413
  14. Kubernetes的探针

    1. https://segmentfault.com/a/1190000039844836
  15. Kubernetes 之 YAML 语法

    1. https://segmentfault.com/a/1190000039814525
  16. k8s 启动服务过程

    1. kubernetes 启动后,无论是 master 节点 亦或者 node 节点,都会将自身的信息存储到 etcd 数据库中
      创建 nginx 服务,首先会将安装请求发送到 master 节点上的 apiServer 组件中
      apiServer 组件会调用 scheduler 组件来决定应该将该服务安装到哪个 node 节点上。这个时候就需要用到 etcd 数据库了,scheduler会从 etcd 中读取各个 node 节点的信息,然后按照一定的算法进行选择,并将结果告知给 apiServer
      apiServer 调用 controllerManager 去调度 node 节点,并安装 nginx 服务
      node 节点上的 kubelet 组件接收到指令后,会通知docker,然后由 docker 来启动一个 nginx 的pod
      
      pod 是 kubernetes 中的最小操作单元,容器都是跑在 pod 中
      以上步骤完成后,nginx 服务便运行起来了,如果需要访问 nginx,就需要通过 kube-proxy 来对 pod 产生访问的代理,这样外部用户就能访问到这个 nginx 服务
      以上便是运行一个服务的全过程,不知道看完之后有没有一种 肃然起敬 的感觉,设计是在太巧妙了,因此到这里,难道就不准备看 k8s 使用下文!如果准备看的话,小手将关注点起来哦!

  17. 拥抱云原生,基于eBPF技术实现Serverless节点访问K8S Service

    1. https://segmentfault.com/a/1190000039762625
  18. 万字长文:彻底搞懂容器镜像构建

    1. https://segmentfault.com/a/1190000039415992
  19. 关于多集群Kubernetes的一些思考

    1. https://segmentfault.com/a/1190000039360021
  20. 超详细!k8s 面试题总结

    1. https://segmentfault.com/a/1190000039334395
  21. Rancher K8S傻瓜式安装,图形化管理真香!

    1. https://segmentfault.com/a/1190000039332775
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值