k8s-乱七八糟

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s-乱七八糟相关的知识,希望对你有一定的参考价值。

参考技术A 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。具体实现原理依靠kube-proxy组件,通过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-乱七八糟的主要内容,如果未能解决你的问题,请参考以下文章

乱七八糟

西格玛Σ上下左右那些乱七八糟的都是啥意思

清单文件 属性 乱七八糟

Python相关的乱七八糟的东西

乱七八糟

找工作——乱七八糟