【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式

简介: 【K8S 系列】k8s 学习二,kubernetes 核心概念及初步了解安装部署方式

咱们再来回顾一下 K8S 集群架构的组件,在网上找一张集群架构图说明一波

1、master 组件

  • apiserver

集群的统一入口,restful 的方式,最后交给 etcd 存储

  • shcheduler

节点调度,选择 node 节点进行应用部署

  • controller-manager

处理集群中常规后台任务,一个资源对应一个控制器

  • etcd

存储系统,用于保存集群相关的数据

2、node 组件,工作节点

  • kubelet

master 排到 node 节点代表,管理本机的容器

  • kube-proxy

提供网络代理,负载均衡等操作

k8s 核心概念

1、Pod

  • 最小部署的逻辑单元
  • 是一组容器的集合
  • 共享网络
  • 生命周期短暂

2、controller

  • 确保预期的 Pod 副本数量
  • 无状态应用部署 / 有状态应用部署
  • 确保所有 node 运行同一个 Pod
  • 执行一次性任务和定时任务

3、service

  • 定义一组 Pod 的访问规则

Kubernetes 安装方式:

  • 使用官方提供的 minikube
  • 使用 kubeadmin 进行部署,k8s的部署工具,跑在 k8s 里面,这个使用起来相对简单

kubeadmin 提供 kubeadmin init 和 kubeadmin join,用于快速部署 k8s 集群

官网地址为:https://kubernetes.io/docs/reference/setup-tools/kubeadm/

  • 自己使用 kubernetes 二进制方式安装部署 (这种部署方式,我们学习的时候一定要走这个步骤,一步一步的去搭建,才能遇到很多问题,进而解决他,熟悉他)

官方提供的 minikube

minikube

点击 Launch Terminal ,可以查看到如下界面

官方给我们提供的 minikube ,版本是 v1.8.1

系统是 Ubuntu 18.04

CPU 2 核

内存 2 G

磁盘 145 G 左右

Kubernetes 版本 v1.17.6

Docker 版本 19.03.6

咱们可以使用 kubectl get pods -n kube-system 查看一下 pod 节点

kubeadmin 进行部署

使用 kubeadmin 来进行部署,相对使用二进制来部署就会简单容易一些,先来规划一下部署方案

平台规划

单 master 搭建方式

多 master 搭建方式

kubeadmin 开始部署

使用 kubeadmin 部署 k8s 环境,通过如下 2 条指令即可完成 kubernetes 的部署:

  • kubeadm init

创建一个 master 节点

  • kubeadm join <master 节点的IP 和端口>

将 node 节点加入到集群中

测试环境硬件要求

master 节点: 2 核,2G,磁盘 20 G

node 节点:4 核,8G,磁盘 80 G

  • 一台或者多台机器,操作系统自选,可以是 ubuntu ,可以是 centos
  • 硬件配置如上
  • 集群中所有的节点网络互通
  • 可以访问外网,可以拉取镜像
  • 禁止 swap 分区

先来安装一下 kubectl

官方提供了 4 种方式来安装 kubecrl

咱们直接使用第 1 种:

1、用如下命令下载最新的 kubectl 版本

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

2、下载 kubectl 校验和文件

curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"

3、验证 kubectl 的可执行文件

echo "$(<kubectl.sha256) kubectl" | sha256sum --check

# echo "$(<kubectl.sha256) kubectl" | sha256sum --check
kubectl: OK

出现上述情况,为验证通过

4、安装 kubectl

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

5、查看咱们安装的版本

kubectl version --client

# kubectl version --client
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T18:03:20Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
  • GitVersion

git 的版本是 v1.22.0

  • GoVersion

go 的版本是 1.16.6

  • BuildDate

构建时间为 2021-08-04T18:03 ,还算挺新

配置一下 kubectl 自动补全功能

kubectl 的自动补全功能依赖 bash-completion,因此需要我们安装他

1、安装 bash-completion

apt-get install bash-completion

2、启动 kubectl 自动补全功能

~/.bashrc 中导入(source)补全脚本

echo 'source <(kubectl completion bash)' >>~/.bashrc

将补全脚本添加到目录 /etc/bash_completion.d

kubectl completion bash >/etc/bash_completion.d/kubectl

如果 kubectl 有关联的别名,你可以扩展 shell 补全来适配此别名

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc

kubernetes 的安装部署方式步骤相对有点多,这个必须要自己一步一步的实践,否则是学不到东西的,大家可以多在官网上摸摸鱼

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

参考资料:

kubernetes docs

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是小魔童哪吒,欢迎点赞关注收藏,下次见~

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
325 2
|
8月前
|
存储 Kubernetes 开发工具
使用ArgoCD管理Kubernetes部署指南
ArgoCD 是一款基于 Kubernetes 的声明式 GitOps 持续交付工具,通过自动同步 Git 存储库中的配置与 Kubernetes 集群状态,确保一致性与可靠性。它支持实时同步、声明式设置、自动修复和丰富的用户界面,极大简化了复杂应用的部署管理。结合 Helm Charts,ArgoCD 提供模块化、可重用的部署流程,显著减少人工开销和配置错误。对于云原生企业,ArgoCD 能优化部署策略,提升效率与安全性,是实现自动化与一致性的理想选择。
498 0
|
7月前
|
存储 Kubernetes 异构计算
Qwen3 大模型在阿里云容器服务上的极简部署教程
通义千问 Qwen3 是 Qwen 系列最新推出的首个混合推理模型,其在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出极具竞争力的结果。
|
8月前
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
806 33
|
8月前
|
Kubernetes 开发者 Docker
集群部署:使用Rancher部署Kubernetes集群。
以上就是使用 Rancher 部署 Kubernetes 集群的流程。使用 Rancher 和 Kubernetes,开发者可以受益于灵活性和可扩展性,允许他们在多种环境中运行多种应用,同时利用自动化工具使工作负载更加高效。
476 19
|
8月前
|
存储 人工智能 Kubernetes
ACK Gateway with AI Extension:面向Kubernetes大模型推理的智能路由实践
本文介绍了如何利用阿里云容器服务ACK推出的ACK Gateway with AI Extension组件,在Kubernetes环境中为大语言模型(LLM)推理服务提供智能路由和负载均衡能力。文章以部署和优化QwQ-32B模型为例,详细展示了从环境准备到性能测试的完整实践过程。
|
8月前
|
存储 测试技术 对象存储
使用容器服务ACK快速部署QwQ-32B模型并实现推理智能路由
阿里云最新发布的QwQ-32B模型,通过强化学习大幅度提升了模型推理能力。QwQ-32B模型拥有320亿参数,其性能可以与DeepSeek-R1 671B媲美。
|
9月前
|
存储 Kubernetes 测试技术
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
484 12
|
9月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
528 5
|
9月前
|
存储 Kubernetes 对象存储
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
247 3

推荐镜像

更多