美文网首页Jenkins 中文社区
使用 kind 和 Docker 启动本地的 Kubernete

使用 kind 和 Docker 启动本地的 Kubernete

作者: yJunS | 来源:发表于2020-05-18 11:14 被阅读0次

    本文首发于:Jenkins 中文社区

    原文链接 作者:Youichi Fujimoto

    译者:s1mple_zj

    cover

    介绍

    你曾经花过一整天时间尝试入门 Kubernetes 吗?多亏最近新出现的一些工具,你可以不用再为此大费周章了。

    这篇文章中,我将向你展示使用 kind 在单个 Docker 容器中启动一个集群的步骤。

    什么是 kind?

    kind 是一款使用 Docker 容器 “nodes” 运行 Kubernetes 集群的工具。https://kind.sigs.k8s.io/

    介绍看起来没有描述信息,但是很明显能知道是源于 “Kubernetes IN Docker”。该工具具备了跨平台友好的优势即便你使用的是 Windows 版本的 Docker。当然了,缺点就是它的可追溯性比较差。

    安装 kind

    因为 kind 是go语言实现的,请确保安装了最新版本的golang。根据开发者文档,推荐使用go1.11.5及以上版本。为了安装 kind,请运行这些命令(可能需要运行一段时间)

    go get -u sigs.k8s.io/kind  
    kind create cluster
    
    

    然后确认 “kind” 集群是可用的。

    kind get clusters
    
    

    设置 kubectl

    同样的,使用Homebrew或者Chocolatey安装最新版本的kubernetes-cli。最新版本的 Docker 包含了 Kubernetes 的功能,但使用的是老版本的kubectl

    运行该命令检查它的版本号。

    kubectl version
    
    

    请确保显示GitVersion: "v1.14.1"或更高版本。

    如果你发现通过 Docker 运行的kubectl,试着使用brew link或对环境变量重新排序。

    一旦kubectl和 kind 安装就绪,打开 bash 控制台运行这些命令。

    export KUBECONFIG=”$(kind get kubeconfig-path)”  
    kubectl cluster-info
    
    

    如果 kind 正确的配置了,会显示一些信息出来。现在你就可以继续开始下面的工作了。耶!

    部署第一个应用程序

    我们需要部署什么到集群上呢?一个很好的选择就是 Wordpress 因为它包括 MySQL 和 PHP 应用程序。

    幸运的是,有一个官方的入门介绍并且描述的非常棒。我们可以尝试使用刚才创建的 kind 集群来操作里面的大多数步骤。

    https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/

    首先,从这个页面上下载mysql-deployment.yamlwordpress-deployment.yaml

    运行两个cat命令创建kustomization.yaml。一旦这些yaml文件准备好之后,将文件按照下面显示的那样放到相应的目录里面。

    k8s-wp/  
    kustomization.yaml  
    mysql-deployment.yaml  
    wordpress-deployment.yaml
    
    

    然后应用到你的集群当中。

    cd k8s-wp  
    kubectl apply -k ./
    
    

    如果命令成功执行你会看到如下的输出。

    secret/mysql-pass-7tt4f27774 created  
    service/wordpress-mysql created  
    service/wordpress created  
    deployment.apps/wordpress-mysql created  
    deployment.apps/wordpress created  
    persistentvolumeclaim/mysql-pv-claim created  
    persistentvolumeclaim/wp-pv-claim created
    
    

    让我们输入这些命令检查下集群的状态:

    kubectl get secrets  
    kubectl get pvc  
    kubectl get pods  
    kubectl get services wordpress
    
    

    等待所有的 pod 变成Running状态。

    然后,运行这个命令来获取服务。

    kubectl port-forward svc/wordpress 8080:80
    
    

    然后打开http://localhost:8080/

    wordpress-page

    瞧!

    如果你想查看数据库,检查你的pod,像这样运行一个命令,然后打开你的客户端应用。

    kubectl port-forward wordpress-mysql-bc9864c58-ffh4c 3306:3306
    
    

    结论

    kind 对 minikube 来说是一个好的选择因为它只使用单个 Docker 容器。

    通过跟集成到 Kubernetes 1.14 的 Kustomze 结合使用,在你本地的机器上尝试使用 Kubernetes 会更加简单。

    image

    相关文章

      网友评论

        本文标题:使用 kind 和 Docker 启动本地的 Kubernete

        本文链接:https://www.haomeiwen.com/subject/skquohtx.html