Docker中k8s集群的搭建

本文介绍了Kubernetes的基本知识,包括其目标、核心特点和主要组件。详细讲述了如何在Docker环境中搭建Kubernetes集群,包括清理环境、安装软件、初始化、设置用户权限、部署flannel及节点,并添加防火墙策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,基本知识

1.简介

(1)官方文档:https://www.kubernetes.org.cn/docs

(2)Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

(3)Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用。

2.Kubernetes组成

(1)Kubernetes节点有运行应用容器必备的服务,而这些都是受Master的控制。每个节点上都要运行Docker。Docker来负责所有具体的映像下载和容器运行。
(2)Kubernetes主要由以下几个核心组件组成:

  • etcd:保存了整个集群的状态;

  • apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制

  • controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

  • scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

  • kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;

  • Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI);

  • kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡;

    除了核心组件,还有一些推荐的Add-ons:

  • kube-dns:负责为整个集群提供DNS服务

  • Ingress Controller:为服务提供外网入口

  • Heapster:提供资源监控

  • Dashboard:提供GUI

  • Federation:提供跨可用区的集群

  • Fluentd-elasticsearch:提供集群日志采集、存储与查询

二、Kubernetes集群搭建
此实验需要联网
实验环境:(安装docker并开启)

docker1:172.25.26.1 (k8s-master)
docker2:172.25.26.2 (k8s-node1)

1.先清理之前的swarm环境

[root@docker2 ~]# docker swarm leave
Node left the swarm.
[root@docker3 ~]# docker swarm leave
Node left the swarm.
[root@docker1 ~]# docker swarm leave --force

[root@docker1 ~]# docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
[root@docker2 ~]# docker container prune
[root@docker3 ~]# docker container prune

2.安装相应软件

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值