• [k8s]k8s架构图解


    k8s架构图解

    k8s架构图解

    启动参数及证书梳理

    这里写图片描述

    master端必须要装flannel

    注: flannel网络能确保各节点间 Pod 网段实现互通
    master 节点与 node 节点上的 Pods 通过 Pod 网络通信,所以需要在 master 节点上部署 Flannel 网络。

    这里写图片描述

    外部访问集群的方式:

    • 1,ingress
    • 2,通过apiserver 这种方式结合kube-proxy kubectl proxy --address='10.64.3.7' --port=8086 --accept-hosts='^*$'
      可以做一些内部url的一些限制.

    浏览器访问 URL:http://10.64.3.7:8086/ui 自动跳转到:http://10.64.3.7:8086/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard/#/workload?namespace=default

    如果不做kubectl proxy 则意味着外界访问api没任何限制,加上后可以做一些限制.

    kubectl proxy -h
    ...
    Options:
          --accept-hosts='^localhost$,^127.0.0.1$,^[::1]$': Regular expression for hosts that the proxy should accept.
          --accept-paths='^.*': Regular expression for paths that the proxy should accept.
          --address='127.0.0.1': The IP address on which to serve on.
          --api-prefix='/': Prefix to serve the proxied API under.
          --disable-filter=false: If true, disable request filtering in the proxy. This is dangerous, and can leave you
    vulnerable to XSRF attacks, when used with an accessible port.
      -p, --port=8001: The port on which to run the proxy. Set to 0 to pick a random port.
          --reject-methods='POST,PUT,PATCH': Regular expression for HTTP methods that the proxy should reject.
          --reject-paths='^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach': Regular expression for paths that the proxy should
    reject.
      -u, --unix-socket='': Unix socket on which to run the proxy.
      -w, --www='': Also serve static files from the given directory under the specified prefix.
      -P, --www-prefix='/static/': Prefix to serve static files under, if static file directory is specified.
    
    Usage:
      kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [options]
    
    

    我认为 kubectl proxy --address='10.64.3.7' --port=8086 --accept-hosts='^*$' 不止可以加访问acl一个功能,还修改了监听地址.不然外界也访问不到.

    [root@master]# kubectl clusterinfo
    Command "clusterinfo" is deprecated, use "cluster-info" instead
    Kubernetes master is running at http://localhost:8080
    Heapster is running at http://localhost:8080/api/v1/namespaces/kube-system/services/heapster/proxy
    KubeDNS is running at http://localhost:8080/api/v1/namespaces/kube-system/services/kube-dns/proxy
    kubernetes-dashboard is running at http://localhost:8080/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
    

    kube cluster info显示的内容由什么控制?

    参考:https://kubernetes-v1-4.github.io/docs/user-guide/kubectl/kubectl_cluster-info/

    Display addresses of the master and services with label kubernetes.io/cluster-service=true

    apiVersion: v1
    kind: Service
    metadata:
      name: kubernetes-dashboard
      namespace: kube-system
      labels:
        k8s-app: kubernetes-dashboard
        kubernetes.io/cluster-service: "true"  #只需要加上这句就可以cluster-info显示了,就可以直接通过kube-proxy访问了
    
    

    traefix工作过程图解

    这里写图片描述

    ci流程

    这里写图片描述

  • 相关阅读:
    一个网络狂人的财富轨迹
    婚姻的精髓
    软件史上最伟大的十大程序员
    由瓜子理论引出的人力资源管理启示
    感情裂缝的"维修工" 在生活抛锚的地方起航
    寻找更新过的数据
    asp.net mvc中TempData和ViewData的区别
    SQL Server Backup
    VS字符串时间转换用法
    SQL Server 根据动态条件insert,update语句
  • 原文地址:https://www.cnblogs.com/iiiiher/p/7838989.html
Copyright © 2020-2023  润新知