美文网首页
k8s-乱七八糟

k8s-乱七八糟

作者: 李哈哈_2c85 | 来源:发表于2021-06-17 17:43 被阅读0次

    2020.5.29

    1、k8s:

            1、namespace:命名空间,(群组)
            2、service: 服务、暴露pod、网关代理
            3、pod:  容器  最小单元   # docker中最小单元容器,一个pod可存放多个容器

    Master组件主要包括:
    kube-apiserver:负责对外暴露Kubernetes API;
    etcd:用于存储Kubernetes集群的所有数据;
    kube-scheduler: 负责为新创建的Pod选择可供其运行的节点;
    kube-controller-manager: 包含Node Controller,Deployment Controller,Endpoint Controller等等,通过与apiserver交互使相应的资源达到预期状态。

    Node组件主要包括:
    kubelet:负责维护和管理节点上Pod的运行状态;
    kube-proxy:负责维护主机上的网络规则以及转发。
    Container Runtime:如Docker,rkt,runc等提供容器运行时环境。

    k8s默认会从远端拉取镜像,其配置参数imagePullPolicy为Always。所以,如果yaml文件中没有定义那就是使用默认的,因此我们可以通过将该参数显示设置为Never或者IfNotPresent,k8s就会从本地拉取镜像了

    ——————

    service4中类型:
        1、ClusterIP类型:这个service有一个Cluster-IP,其实就一个VIP。具体实现原理依靠kubeproxy组件,通过iptables或是ipvs实现。这种类型的service 只能在集群内访问----kubectl get svc -n test 查看
        2、NodePort 类型:配置services后可通过node节点的相应端口访问到内部pod。该端口有一定的范围,比如默认Kubernetes 控制平面将在--service-node-port-range标志指定的范围内分配端口(默认值:30000-32767)
        3、ExternalName 类型service将服务映射到 DNS 名称,而不是典型的选择器,例如my-service或者cassandra。您可以使用spec.externalName参数指定这些服务。---Externalip  端口对外映射没有限制
         4、LoadBalancer类型的service 是可以实现集群外部访问服务的另外一种解决方案。不过并不是所有的k8s集群都会支持,大多是在公有云托管集群中会支持该类型。负载均衡器是异步创建的,关于被提供的负载均衡器的信息将会通过Service的status.loadBalancer字段被发布出去。

    原文链接:https://blog.csdn.net/weixin_40274679/article/details/107887678

    1、    k8s 调整容器配置

                两个方法:1、通过配置yaml文件,去调度pod生效。yaml文件修改和重新调度会使pod重新关闭后重新创建
                                  2、通过scale(缩放--缩小或放大)命令直接调度,增加一个pod:kubectl  scale  --replicas=个数  kind类型/pod名称/  -n 命名空间

               配置镜像命令:
               kubectl set image  deployment <deploymentName>  <containerName>=<image>   -n  namespace
               kubectl set image deployment/hello-world hello-world=registry.gag.cn/business/hello-world:20200728-03 -n test

               k8s查看所有pod详细信息
               kubectl get pod --all-namespaces -o wide
               获取部署pod-deployment和删除,可删除多个pod

               kubectl get deployments
               kubectl delete deployments pod名  -n namespace
                
               kubectl delete pod pod名 --grace-period=0 --force

    1、跨namespace和svc通讯需要加namespace空间名   svc.ns

    2、k8s插件
            flannel :使用比较广泛的、简单的、不需要用户干预,从k8s跟进一起出
            calico:网络的安全和规则上比flannel要好,更灵活的控制网络,且如果需要------有付费维护服务
            canal:以上两种的结合品,实际并没有什么优势。。。
            Weave:更加丰富的网络功能

    3、

    相关文章

      网友评论

          本文标题:k8s-乱七八糟

          本文链接:https://www.haomeiwen.com/subject/sylfzhtx.html