k8s(三)配置Kubernetes集群

现在应用被打包在一个容器镜像中,并通过 Docker Hub 给大家使用,可以将它部署到 Kubernetes 集群中,而不是直接在 Docker 中运行

一 个适 当 的 Kubemetes 安装需要包含多个物理或虚拟机,并需要正确 地设 置网络,以便在 Kubemetes 集群内运行的所有容器都可 以在相同的扁平网络环境内相互连通。

2.1Minikube运行本地但节点K8s集群

  • 安装

Minikube是一个需要下载并放到路径中的二进制文件。 它适用于 osx、 Linux 和Windows系统。最好访问GitHub上的Minikube代码仓库(https://github.com/kubernetes/minikube), 按照说明(https://minikube.sigs.k8s.io/docs/start/)来安装它 。

image-20230218152532282.png

  • 安装并启动集群
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
$ sudo install minikube-darwin-arm64 /usr/local/bin/minikube
$ minikube star
image-20230218153316093.png
  • 安装kubernetes客户端-kubectl
    $ minikube kubectl -- get po -A
    image-20230218154248540.png
  • 使用 kubectl 查看集群是否正常工作
    $ kubectl cluster-info
    image-20230218154844571.png
  • 可以通过minikube ssh登陆到Minikube VM从内部查看他有那些进程
    $ minikube ssh
    image-20230218155402077.png

2.2使用Google Kubernetes Engine 托管 Kubernetes 集群

  • 说明

    • Google Kubernetes Engine(GKE)是谷歌提供的一个受管环境,您可以使用 Google 基础架构在其中部署、管理和扩缩容器化应用。

    • GKE 环境包括多个机器(具体来讲,就是 实例),这些机器组合在一起就形成了集群。

    • 手动设置所有的集群节点和网络对于刚开始使用 Kubemetes 的人来说太复杂了

    • 使用例如 GKE 这样的托管解决方案可以确保不会出现配置错误、不工作或部分工作的集群 。

  • 配置一个 Google Cloud 项目井且下载必需的客户端二进制大致流程

    • 注册谷歌账户然后登陆https://cloud.google.com/kubernetes-engine?hl=zh-cn申请试用GKE(需要visa信用卡账户信息)

    • 在 GoogleCloudPlatform控制台中创建一个项目。

    • 开启 Kubemetes Engine API。

    • 下载安装 Google Cloud SDK (这包含 gcloud 命令行工具,需要创建 一 个Kubemetes 集群)。

    • 使用 gcloud compone口ts install kubectl 安装 kubectl 命令行工具。

  • 创建一个三节点 Kubernetes 集群

    • 完成安装后,可以使用下面代码清单中的命令创建 一 个包含 三 个工作节点的 Kubemetes 集群 。
      $ gcloud container clusters create kubia --num-nodes 3
      image-20230220103154586.png

      image-20230220103231442.png
  • 集群交互的初步认识,每个节点运 行着 Docker、 Kubelet和 kube-proxya

  • 可以通过 kubectl 命令行客户端向运行在主节点上的 KubemetesAPI服务器发出 REST请求以与集群交互。


    image-20230220103417615.png
  • 现在可以使用 kubectl 命令列出集群中的所有节点。
    $ kubectl get nodes

    image-20230220145624064.png

  • 查看对象的更多信息
    $ kubectl describe node d
    输出显示了节点的状态、 CPU 和内存数据、系统信息、运行容器的节点等

也可以 执行一个简单的 kubectl describe node 命令,而无须指定节点名,它将打印 出所有节点的描述信息 。

  • 为kubectl配置别名
$ alias k=kubectl```
![image-20230220151837597.png](https://upload-images.jianshu.io/upload_images/26431396-dacf488c6f8f48d6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(k8s(三)配置Kubernetes集群)