Kubernetes权威指南——Kubernetes安装配置指南(网络配置)

Kubernetes安装配置指南

5、Kubernetes集群的网络配置

在多个Node组成的Kubernetes集群内,跨主机的容器间网络互通是Kubernetes集群能够正常工作的前提条件。Kubernetes本身并不会对跨主机的容器网络进行设置,这需要额外的工具来实现。除了谷歌公有云GCE平台提供的网络设置,一些开源的工具包括Flannel、Open vSwitch、Weave、Calico等都能够实现跨主机的容器间网络互通。随着CNI网络模型的逐渐成熟,Kubernetes将优先使用CNI网络插件打通跨主机的容器网络。具体的网络原理及主流开源网络工具的原理和配置详见第7章的说明。

6、内网中的Kubernetes相关配置

Kubernetes在能够访问Internet网络的环境中使用起来非常方便:一方面,在docker.io和gcr.io网站中已经存在了大量官方制作的Docker镜像;另一方面,GCE、AWS提供的云平台已经成熟,用户通过租用一定的空间来部署Kubernetes集群也很简便。

但是,许多企业内部由于安全原因无法访问Internet,需要通过创建一个内部的私有Docker Registry,并修改一些Kubernetes的配置,来启动内网中的Kubernetes集群。

6.1、Docker Private Registry(私有Docker镜像库)

使用Docker提供的Registry镜像创建一个私有镜像仓库。

详细的安装步骤请参考Docker的官方文档https://docs.docker.com/registry/deploying/。

6.2、kubelet配置

由于在Kubernetes中是以Pod而不是以Docker容器为管理单元的,在kubelet创建Pod时,还通过启动一个名为k8s.gcr.io/pause:3.1的镜像来实现Pod的概念。

该镜像存在于谷歌镜像库k8s.gcr.io中,需要通过一台能够连上Internet的服务器将其下载,导出文件,再push到私有Docker Registry中。

之后,可以给每个Node的kubelet服务都加上启动参数--pod-infra-container-image,指定为私有Docker Registry中pause镜像的地址。例如:

bash 复制代码
# cat /etc/kubernetes/kubelet
KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubeconfig
--hostname-override=192.168.18.3--log-dir=/var/log/kubernetes --v=0
--pod-infra-container-image=myregistry/pause:3.1"

然后重启kubelet服务:

bash 复制代码
# systemctl restart kubelet

通过以上设置就在内网环境中搭建了一个企业内部的私有容器云平台。

相关推荐
闲云野鹤在人间1 小时前
Kubernetes Pod Scheduler 详解
云原生·容器·kubernetes
硅基造物主1 小时前
STM32 从 0 到 1 做智能家居(十二):USART2 分时复用 —— ESP-12F + MQTT
网络·stm32·mqtt·智能家居·esp-12f
我不会起名字3222 小时前
TCP 三次握手为什么是三次:丢包、重传与初始序列号
网络·tcp·原理·握手
Yang96112 小时前
鼎讯信通DXA-3S光纤熔接机:光缆教学中的技术精粹解析
网络
刘马想放假2 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
docker·容器
xbzb3 小时前
IP、掩码、网关、DNS 到底谁管什么?网络基础与七种设备一次讲清
网络·网关·mac·ip·dns·掩码
前进吧-程序员3 小时前
C++20 协程入门实战:从 co_await 到一个 100 行的异步任务调度器
网络·c++·c++20
前进吧-程序员3 小时前
实战:C++20 协程 + io_uring 写一个 400 行的 echo server
网络·c++·c++20
切糕师学AI4 小时前
Kubernetes 探针全解析:启动探针、存活探针与就绪探针(Startup/Liveness/Readiness Probe)
容器·kubernetes·探针·probe