前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2022年04月 Kubernetes容器集群快速部署之kind单集群

【愚公系列】2022年04月 Kubernetes容器集群快速部署之kind单集群

作者头像
愚公搬代码
发布2022-04-27 09:25:46
3770
发布2022-04-27 09:25:46
举报
文章被收录于专栏:历史专栏

文章目录

前言

Kind 是 Kubernetes In Docker 的缩写,顾名思义是使用 Docker 容器作为 Node 并将 Kubernetes 部署至其中的一个工具。官方文档中也把 Kind 作为一种本地集群搭建的工具进行推荐。

kind的官网:https://kind.sigs.k8s.io/

一、kind的安装

1.kind的前置

使用kind必须具备以下条件

  • docker
  • k8s
  • go

2.kind的安装

代码语言:javascript
复制
GOPROXY=goproxy.cn go install sigs.k8s.io/kind@v0.12.0
在这里插入图片描述
在这里插入图片描述

3.kind的环境变量设置

代码语言:javascript
复制
sudo cp $(go env GOPATH)/bin/kind /usr/local/bin

4.kind的集群创建

代码语言:javascript
复制
kind create cluster --name=kind

使用 kind create cluster 安装,是没有指定任何配置文件的安装方式。从安装打印出的输出来看,分为4步:

  1. 查看本地上是否存在一个基础的安装镜像,默认是kindest/node:v1.23.4,这个镜像里面包含了需要安装的所有东西,包括了kubectl、kubeadm、kubelet 二进制文件,以及安装对应版本 k8s 所需要的镜像,都以 tar压缩包的形式放在镜像内的一个路径下。
  2. 准备你的 node,这里就是做一些启动容器、解压镜像之类的工作。
  3. 生成对应的 kubeadm 的配置,之后通过 kubeadm安装,安装之后还会做另外的一些操作,比如像我刚才仅安装单节点的集群,会帮你删掉 master 节点上的污点,否则对于没有容忍的 pod无法部署。
  4. 启动完毕。
在这里插入图片描述
在这里插入图片描述

5.测试集群是否创建成功

kubectl中文文档:http://kubernetes.kansea.com/docs/user-guide/kubectl/kubectl_config_set-context/

5.1 查看集群

代码语言:javascript
复制
kubectl config get-contexts #查看可用集群
kubectl cluster-info --context clusterName #查看集群信息
在这里插入图片描述
在这里插入图片描述

5.2 设置集群

代码语言:javascript
复制
# 查看完集群列表后,根据需要切换上下文
kubectl config set-context clusterName
在这里插入图片描述
在这里插入图片描述

5.2 删除集群

代码语言:javascript
复制
# 查看完集群列表后,根据需要切换上下文
kubectl config delete-context clusterName
在这里插入图片描述
在这里插入图片描述

5.4 切换集群

代码语言:javascript
复制
# 查看完集群列表后,根据需要切换上下文
kubectl config use-context clusterName
在这里插入图片描述
在这里插入图片描述

5.3 查看集群上的节点

代码语言:javascript
复制
kubectl get nodes
在这里插入图片描述
在这里插入图片描述

二、kind的使用

1.创建集群

1.1 创建默认的集群:

代码语言:javascript
复制
kind create cluster
在这里插入图片描述
在这里插入图片描述

1.2 根据镜像创建:

代码语言:javascript
复制
kind create cluster --image kindest/node:latest

1.3 根据名称创建:

代码语言:javascript
复制
kind create cluster --name kind2
在这里插入图片描述
在这里插入图片描述

2.查看集群

2.1 查看集群

代码语言:javascript
复制
kind get clusters
在这里插入图片描述
在这里插入图片描述

2.2 获取节点

代码语言:javascript
复制
kind get nodes
在这里插入图片描述
在这里插入图片描述

3.删除集群

3.1 删除默认的集群

代码语言:javascript
复制
kind delete cluster
在这里插入图片描述
在这里插入图片描述

3.2 根据名字删除集群

代码语言:javascript
复制
kind delete cluster --name clusterName
在这里插入图片描述
在这里插入图片描述

3.3 删除所有集群

代码语言:javascript
复制
kind delete clusters --all
在这里插入图片描述
在这里插入图片描述

4.加载docker镜像

4.1 加载docker镜像

Docker映像可以通过以下方式加载到群集节点中

代码语言:javascript
复制
docker pull nginx
kind load docker-image nginx

如果使用命名群集,则需要指定要将映像加载到的群集的名称

代码语言:javascript
复制
kind load docker-image nginx --name kind-2
在这里插入图片描述
在这里插入图片描述

4.2 加载图像存档

代码语言:javascript
复制
kind load image-archive /my-image-archive.tar

4.2 完整流程

代码语言:javascript
复制
docker build -t my-custom-image:unique-tag ./my-image-dir
kind load docker-image my-custom-image:unique-tag
kubectl apply -f my-manifest-using-my-image:unique-tag
  • kubectl create属于Imperative command(祈使式命令),它明确告诉kubectl要创建某个资源或对象。
  • kubectl apply是Declarative command(声明式命令),apply并不告诉kubectl具体做什么,而是由kubectl根据后面-f中的yaml文件与k8s中对应的object对比,自动探测要进行哪些操作,比如如果object不存在,则create;如果已经存在,则对比差异,update and replace。

4.查询docker镜像

在这里插入图片描述
在这里插入图片描述

三、进入K8S节点

1.登录节点

由于 Node 是 docker 容器,则可以使用 docker ps 命令查看当前运行的容器:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
docker exec -it kind-control-plane bash
在这里插入图片描述
在这里插入图片描述

2.查看结点中已经下载的镜像

可以使用 crictl 命令操作 kind 结点中的镜像:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/04/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、kind的安装
    • 1.kind的前置
      • 2.kind的安装
        • 3.kind的环境变量设置
          • 4.kind的集群创建
            • 5.测试集群是否创建成功
              • 5.1 查看集群
              • 5.2 设置集群
              • 5.2 删除集群
              • 5.4 切换集群
              • 5.3 查看集群上的节点
          • 二、kind的使用
            • 1.创建集群
              • 1.1 创建默认的集群:
              • 1.2 根据镜像创建:
              • 1.3 根据名称创建:
            • 2.查看集群
              • 2.1 查看集群
              • 2.2 获取节点
            • 3.删除集群
              • 3.1 删除默认的集群
              • 3.2 根据名字删除集群
              • 3.3 删除所有集群
            • 4.加载docker镜像
              • 4.1 加载docker镜像
              • 4.2 加载图像存档
              • 4.2 完整流程
            • 4.查询docker镜像
            • 三、进入K8S节点
              • 1.登录节点
                • 2.查看结点中已经下载的镜像
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档