资讯详情

(2022版)一套教程搞定k8s安装到实战 | Kubernetes基础

视频来源:B最新、最完整、最详细的电台(2022版)Kubernetes(K8s)教程,从K8s安装到实战一套完成。

边学边整理老师的课程内容和实验笔记,与大家分享,侵权即删,谢谢支持!

附上汇总贴:(2022版)完成一套教程k8s安装到实战 | 汇总_COCOgsta的博客-CSDN博客


Kubernetes是谷歌以Borg一个基于谷歌15年生产环境经验的开源项目,Kubernetes平台致力于提供自动部署、扩展、高可用性和运行跨主机集群应用容器。

Master节点:控制整个集群的中心

  • Kube-APIServer:集群控制中心需要通过各模块之间的信息交互Kube-APIServer,同时也是集群管理、资源配置、整个集群安全机制的入口。
  • Controller-Manager:集群状态管理器,确保Pod或者其他资源也需要达到预期值APIServer创建、更新或删除必要时管理的资源。
  • Scheduler:根据指定的一系列条件,集群调度中心将选择一个或一批最佳节点,然后部署我们Pod。
  • Etcd:按键数据库,保存一些集群信息,建议在一般生产环境中部署三个以上节点(奇数)。

Node:工作节点

也称为worker、node节点、minion节点

  • Kubelet:负责监控节点Pod同时负责报告节点和节点的状态Pod负责和Master节点通信,节点上方的管理Pod。
  • KuberProxy:负责Pod平衡通信和负载,将指定的流量分配到后端正确的机器上。
  • 查看Kube-proxy工作模式:
[root@k8s-master01 ~]# netstat -lntp | grep kube-proxy tcp        0      0 0.0.0.0:30825           0.0.0.0:*               LISTEN      1144/kube-proxy      tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      1144/kube-proxy      tcp6       0      0 :::10256                :::*                    LISTEN      1144/kube-proxy      [root@k8s-master01 ~]#  [root@k8s-master01 ~]# curl 127.0.0.1:10249/proxyMode ipvs[root@k8s-master01 ~]#  [root@k8s-master01 ~]#
  • ipvs:监听Master添加和删除节点service以及endpoint新闻,调用Netlink创建相应的接口IPVS规则。通过IPVS将流量转发到相应的规则中Pod上。
[root@k8s-master01 ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn TCP  127.0.0.1:30825 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  172.16.203.192:30825 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  172.17.0.1:30825 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  192.168.1.107:30825 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  192.168.122.1:30825 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  10.96.0.1:443 rr   -> 192.168.1.107:6443           Masq    1      1          0            -> 192.168.1.108:6443           Masq    1      0          0            -> 192.168.1.109:6443           Masq    1      0          0          TCP  10.96.0.10:53 rr   -> 172.17.125.2:53              Masq    1      0          0          TCP  10.96.0.10:9153 rr   -> 172.17.125.2:9153            Masq    1      0          0          TCP  10.102.71.156:443 rr   -> 172.27.14.194:8443           Masq    1      0          0          TCP  10.107.94.32:8000 rr   -> 172.16.203.194:8000          Masq    1      0          0          TCP  10.111.79.182:443 rr   -> 172.25.92.66:4443            Masq    1      2          0          UDP  10.96.0.10:53 rr   -> 172.17.125.2:53              Masq    1      0          0          [root@k8s-master01 ~]# kubectl get svc -n kubernetes-dashboard NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE dashboard-metrics-scraper   ClusterIP   10.107.94.32    <none>        8000/TCP        4d21h kubernetes-dashboard        NodePort    10.102.71.156   <none>        443:30825/TCP   4d21h [root@k8s-master01 ~]# kubectl get po -n kubernetes-dashboard -o wide NAME                                         READY   STATUS    RESTARTS   AGE     IP               NODE            NOMINATED NODE   READINESS GATES dashboard-metrics-scraper-7645f69d8c-92hzc   1/1     Running   1          4d21h   172.16.203.194   k8s-master-lb   <none>           <none> kubernetes-dashboard-78cb679857-tw7n2        1/1     Running   2          4d21h   172.27.14.194    k8s-node02      <none>           <none> [root@k8s-master01 ~]# 
  • iptables:监听Master添加和删除节点service以及endpoint每一个新闻service,他会创造一个iptables规则,将service的clusetIP代理对应后端Pod。
  • Calico:符合CNI标准网络插件,给每个Pod独一无二的产生IP并将每个节点作为路由器。
[root@k8s-master01 ~]# kubectl get pods -n kube-system -o wide NAME                                       READY   STATUS    RESTARTS   AGE     IP              NODE            NOMINATED NODE   READINESS GATES calico-kube-controllers-5f6d4b864b-n6srh   1/1     Running   1          5d      192.168.1.109   k8s-master03    <none>           <none> calico-node-4b984                          1/1     Running   1          5d      192.168.1.109   k8s-mster03    <none>           <none>
calico-node-8nr4x                          1/1     Running   2          5d      192.168.1.108   k8s-master02    <none>           <none>
calico-node-bpzm4                          1/1     Running   1          5d      192.168.1.110   k8s-node01      <none>           <none>
calico-node-m2nhm                          1/1     Running   1          5d      192.168.1.111   k8s-node02      <none>           <none>
calico-node-tstnv                          1/1     Running   1          5d      192.168.1.236   k8s-master-lb   <none>           <none>
coredns-867d46bfc6-gjlqm                   1/1     Running   1          4d21h   172.17.125.2    k8s-node01      <none>           <none>
metrics-server-595f65d8d5-nt2xc            1/1     Running   1          4d21h   172.25.92.66    k8s-master02    <none>           <none>
[root@k8s-master01 ~]# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eno16777736
172.16.203.192  0.0.0.0         255.255.255.192 U     0      0        0 *
172.16.203.194  0.0.0.0         255.255.255.255 UH    0      0        0 cali15b7f38cc2b
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.17.125.0    192.168.1.110   255.255.255.192 UG    0      0        0 tunl0
172.18.195.0    192.168.1.109   255.255.255.192 UG    0      0        0 tunl0
172.25.92.64    192.168.1.108   255.255.255.192 UG    0      0        0 tunl0
172.27.14.192   192.168.1.111   255.255.255.192 UG    0      0        0 tunl0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@k8s-master01 ~]# 
  • CoreDNS:用于Kubernetes集群内部Service的解析,可以让Pod把Service名称解析成IP地址,然后通过Service的IP地址进行连接到对应的应用上
[root@k8s-master01 ~]#  kubectl get svc -n kube-system
NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns         ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   4d21h
metrics-server   ClusterIP   10.111.79.182   <none>        443/TCP                  4d21h
You have new mail in /var/spool/mail/root
[root@k8s-master01 ~]# 
[root@k8s-master01 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   5d14h
[root@k8s-master01 ~]# 
  • Docker:容器引擎,负责对容器的管理。

 

标签: s30nc15b电感式接近开关

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台