k8s入门:从安装到实际应用
创始人
2025-01-07 14:05:40
0次

Kubernetes (K8s) 入门指南:从安装到实际应用

Kubernetes 是一个开源的容器编排平台,用于自动化容器化应用程序的部署、扩展和管理。它能帮助你管理多个容器化应用程序,并确保它们在不同环境下的一致性和可用性。本文将介绍如何在本地环境安装 Kubernetes 并进行简单的应用部署。

一、安装 Kubernetes

Kubernetes 的安装可以通过多种方式完成,以下是几种常见的安装方法:

1. 使用 Minikube 安装 Kubernetes

Minikube 是一个工具,可以在本地运行单节点 Kubernetes 集群,适合开发和测试使用。

步骤:

  1. 安装 Minikube:

    • 在 Linux 上:

      curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube /usr/local/bin/ 
    • 在 macOS 上:

      brew install minikube 
    • 在 Windows 上:

      下载 Minikube 并将其添加到系统路径。

  2. 安装 kubectl:

    kubectl 是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。

    • 在 Linux 上:

      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/local/bin/kubectl 
    • 在 macOS 上:

      brew install kubectl 
    • 在 Windows 上:

      下载 kubectl 并将其添加到系统路径。

  3. 启动 Minikube:

 #安装相关依赖  yum install -y conntrack git wget golang  VERSION="v1.30.0"  wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz  tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin  git clone https://github.com/Mirantis/cri-dockerd.git  cd cri-dockerd  mkdir bin  go get && go build -o bin/cri-dockerd  mv bin/cri-dockerd /usr/local/bin/  wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.service -O /etc/systemd/system/cri-docker.service  wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.socket -O /etc/systemd/system/cri-docker.socket  sudo systemctl daemon-reload  sudo systemctl enable cri-docker.service  sudo systemctl enable cri-docker.socket  sudo systemctl start cri-docker.service  sudo systemctl start cri-docker.socket 
#启动minikube minikube start 
  1. 验证安装:

    kubectl get nodes 

    如果安装成功,你应该会看到一个名为 minikube 的节点。

2. 使用 Kind 安装 Kubernetes

Kind (Kubernetes IN Docker) 是另一个适合本地开发的 Kubernetes 集群工具,通过 Docker 容器运行 Kubernetes 集群。

步骤:

  1. 安装 Kind:

    • 在 Linux 和 macOS 上:

      curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind 
    • 在 Windows 上:

      下载 Kind 并将其添加到系统路径。

  2. 创建 Kubernetes 集群:

    kind create cluster 
  3. 验证安装:

    kubectl cluster-info --context kind-kind 
二、部署应用到 Kubernetes

一旦 Kubernetes 集群启动并运行,你可以开始部署应用程序。以下是一个简单的 Nginx 应用部署示例:

  1. 创建 Nginx Deployment:

    Deployment 用于声明应用的期望状态,Kubernetes 将确保实际状态匹配声明的期望状态。

    kubectl create deployment nginx --image=nginx 
  2. 暴露 Nginx 服务:

    Service 用于将 Deployment 暴露为一个网络服务。

    kubectl expose deployment nginx --port=80 --type=NodePort 
  3. 查看服务信息:

    kubectl get services 

    你将看到类似以下的输出,其中 PORT(S) 显示了服务暴露的端口:

    NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE nginx        NodePort    10.96.0.1              80:PORT/TCP    1m 
  4. 访问 Nginx 应用:

    在浏览器中访问 http://:,其中 是集群节点的 IP 地址, 是上一步中显示的端口。

三、管理 Kubernetes 应用

Kubernetes 提供了丰富的功能来管理和扩展你的应用程序:

  1. 扩展 Deployment:

    可以使用以下命令扩展 Nginx 部署的副本数:

    kubectl scale deployment nginx --replicas=3 
  2. 更新 Deployment:

    可以使用以下命令滚动更新 Nginx 部署:

    kubectl set image deployment/nginx nginx=nginx:latest 
  3. 查看 Deployment 状态:

    使用以下命令查看 Deployment 的状态:

    kubectl get deployments 
  4. 查看 Pod 日志:

    使用以下命令查看 Pod 的日志:

    kubectl logs  
四、常见的 Kubernetes 资源类型
  • Pod:Kubernetes 中最小的部署单元,包含一个或多个容器。
  • Service:用于定义 Pod 的网络访问策略。
  • Deployment:用于声明应用的期望状态,支持滚动更新和回滚。
  • ConfigMap 和 Secret:用于管理应用配置和敏感信息。
  • PersistentVolume (PV) 和 PersistentVolumeClaim (PVC):用于管理持久存储。

总结

本文介绍了如何在本地安装 Kubernetes 并部署一个简单的 Nginx 应用。Kubernetes 是一个功能强大的平台,提供了丰富的功能来管理和扩展容器化应用程序。通过掌握本文介绍的基本概念和操作,你可以开始探索 Kubernetes 的更多高级功能,以满足实际应用的需求。

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...