首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Kind搭建本地k8s集群

使用Kind搭建本地k8s集群

作者头像
kongxx
发布2019-09-25 10:25:30
1.3K0
发布2019-09-25 10:25:30
举报

介绍

Kind 是 Kubernetes In Docker 的缩写,是使用 Docker 容器部署 Kubernetes 的工具。也是官方推荐的搭建本地集群的工具。

安装 Kind

$ curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.5.1/kind-$(uname)-amd64
$ chmod +x ./kind
$ sudo mv ./kind /usr/bin/

安装 Docker

步骤略

安装 kubectl

$ sudo yum install kubernetes-client

或

$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/bin/kubectl

单节点集群

创建集群

$ sudo kind create cluster
Creating cluster "kind" ...
 ? Ensuring node image (kindest/node:v1.15.3)
 ? Preparing nodes
 ? Creating kubeadm config
 ? Starting control-plane
 ? Installing CNI
 ? Installing StorageClass
Cluster creation complete. You can now use the cluster with:

$ export KUBECONFIG="$(sudo kind get kubeconfig-path --name="kind")"

$ sudo kubectl cluster-info
Kubernetes master is running at https://127.0.0.1:34059
KubeDNS is running at https://127.0.0.1:34059/api/v1/proxy/namespaces/kube-system/services/kube-dns

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

也可以使用下面命令来在创建集群的时候制定集群名称。

$ sudo kind create cluster --name mycluster

查看集群

查看集群信息

$ export KUBECONFIG="$(kind get kubeconfig-path --name="kind")"
$ sudo kubectl cluster-info
Kubernetes master is running at https://127.0.0.1:34059
KubeDNS is running at https://127.0.0.1:34059/api/v1/proxy/namespaces/kube-system/services/kube-dns

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看集群节点信息

$ sudo kubectl get nodes
NAME                 STATUS    AGE
kind-control-plane   Ready     1h

查看系统上的集群

$ sudo kind get clusters
kind

删除集群

$ sudo kind delete cluster
Deleting cluster "kind" ...
$KUBECONFIG is still set to use /root/.kube/kind-config-kind even though that file has been deleted, remember to unset it

多节点集群

对于多节点集群的创建,需要通过使用配置文件的方式来创建。

配置文件

先创建一个 yaml 格式文件,文件名就叫 kind-config.yaml,内容如下:

kind: Cluster
apiVersion: kind.sigs.k8s.io/v1alpha3
kubeadmConfigPatches:
- |
  apiVersion: kubeadm.k8s.io/v1beta2
  kind: ClusterConfiguration
  metadata:
    name: config
  networking:
    serviceSubnet: 10.0.0.0/16
- |
  apiVersion: kubeadm.k8s.io/v1beta2
  kind: InitConfiguration
  metadata:
    name: config
  networking:
    serviceSubnet: 10.0.0.0/16
nodes:
- role: control-plane
- role: control-plane
- role: control-plane
- role: worker
- role: worker
- role: worker

创建集群

通过配置文件创建集群

$ sudo kind create cluster --name mycluster --config kind-config.yaml
Creating cluster "mycluster" ...
 ✓ Ensuring node image (kindest/node:v1.15.3)
 ✓ Preparing nodes
 ✓ Configuring the external load balancer
 ✓ Creating kubeadm config
 ✓ Starting control-plane
 ✓ Installing CNI
 ✓ Installing StorageClass
 ✓ Joining more control-plane nodes
 ✓ Joining worker nodes
Cluster creation complete. You can now use the cluster with:

export KUBECONFIG="$(kind get kubeconfig-path --name="mycluster")"
kubectl cluster-info

查看集群

查看集群信息

$ export KUBECONFIG="$(sudo kind get kubeconfig-path --name="mycluster")"
$ sudo kubectl cluster-info
Kubernetes master is running at https://127.0.0.1:33483
KubeDNS is running at https://127.0.0.1:33483/api/v1/proxy/namespaces/kube-system/services/kube-dns

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看集群节点

$ sudo kubectl get nodes
NAME                       STATUS    AGE
mycluster-control-plane    Ready     6m
mycluster-control-plane2   Ready     5m
mycluster-control-plane3   Ready     4m
mycluster-worker           Ready     4m
mycluster-worker2          Ready     4m
mycluster-worker3          Ready     4m
​``` shell

查询集群容器

​``` shell
$ sudo docker ps
CONTAINER ID        IMAGE                                                                                          COMMAND                  CREATED             STATUS              PORTS                                  NAMES
93bb0d8df106        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes        42008/tcp, 127.0.0.1:42008->6443/tcp   mycluster-control-plane
2a1b67d11463        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes                                               mycluster-worker3
d7a8f74a9e95        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes                                               mycluster-worker
8d2aaa019a21        kindest/haproxy:2.0.0-alpine                                                                   "/docker-entrypoin..."   9 minutes ago       Up 9 minutes        33483/tcp, 127.0.0.1:33483->6443/tcp   mycluster-external-load-balancer
dd2fca2b2401        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes                                               mycluster-worker2
f47d3c836f85        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes        39892/tcp, 127.0.0.1:39892->6443/tcp   mycluster-control-plane3
5feeee745b06        kindest/node:v1.15.3@sha256:27e388752544890482a86b90d8ac50fcfa63a2e8656a96ec5337b902ec8e5157   "/usr/local/bin/en..."   9 minutes ago       Up 9 minutes        36154/tcp, 127.0.0.1:36154->6443/tcp   mycluster-control-plane2
4213abeebc6f        kindest/haproxy:2.0.0-alpine         

删除集群

$ sudo kind delete cluster --name mycluster
Deleting cluster "mycluster" ...
$KUBECONFIG is still set to use /root/.kube/kind-config-mycluster even though that file has been deleted, remember to unset it
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.09.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装 Kind
  • 安装 Docker
  • 安装 kubectl
  • 单节点集群
    • 创建集群
      • 查看集群
        • 删除集群
        • 多节点集群
          • 配置文件
            • 创建集群
              • 查看集群
                • 删除集群
                相关产品与服务
                容器镜像服务
                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档