12.云原生之kubesphere中应用部署方式

这篇具有很好参考价值的文章主要介绍了12.云原生之kubesphere中应用部署方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云原生专栏大纲

k8s中应用部署

在k8s中要想部署应用,需要编写各种yaml文件,一旦应用依赖比较复杂对运维人员极其不友好,对开发人员入门操作门槛较高。k8s有几种常见的应用部署方式,包括:

  1. Deployment(部署):Deployment是Kubernetes中最常用的应用部署方式之一。它定义了应用程序的副本数量、容器镜像、环境变量等,并确保指定数量的Pod副本在集群中运行。Deployment还支持滚动升级和回滚操作,以实现无宕机的应用程序更新。
  2. StatefulSet(有状态集):StatefulSet用于部署有状态的应用程序,如数据库。与Deployment不同,StatefulSet为每个Pod分配一个唯一的标识符,这样可以确保每个Pod具有稳定的网络标识和存储。StatefulSet还支持有序部署和扩展,确保应用程序的有状态特性得到维护。
  3. DaemonSet(守护进程集):DaemonSet用于在集群中的每个节点上运行一个Pod副本。它通常用于部署一些系统级别的服务,如日志收集器、监控代理等。当集群的节点发生变化时,DaemonSet会自动调整Pod的数量和分布,以保持每个节点上都有一个Pod副本。
  4. Job和CronJob(作业和定时作业):Job用于运行一次性任务,如批处理作业。CronJob是基于时间调度的Job,可定期运行任务。这些部署方式允许在需要时运行任务,并在任务完成后终止或定期重复运行任务。
  5. Pod(容器组):虽然直接使用Pod来部署应用程序不太常见,但它是Kubernetes中最基本的部署单元。Pod可以包含一个或多个容器,并共享相同的网络和存储资源。在某些情况下,可以直接使用Pod来部署应用程序,但这需要手动管理Pod的生命周期和扩展性。

Kubernetes常用命令

命令 描述
kubectl get pods 获取所有Pod的列表
kubectl get deployments 获取所有Deployment的列表
kubectl get services 获取所有Service的列表
kubectl get nodes 获取所有节点的列表
kubectl create -f 使用YAML或JSON文件创建资源
kubectl apply -f 使用YAML或JSON文件创建或更新资源
kubectl delete <resource_type> <resource_name> 删除指定类型的资源
kubectl describe <resource_type> <resource_name> 显示指定类型资源的详细信息
kubectl logs <pod_name> 获取指定Pod的日志
kubectl exec -it <pod_name> <container_name> – 在Pod中的容器上执行命令
kubectl port-forward <pod_name> <local_port>:<pod_port> 将本地端口转发到Pod的端口
kubectl scale <resource_type> <resource_name> --replicas=<replica_count> 扩展或缩小指定资源的副本数量
kubectl rollout status <resource_type> <resource_name> 检查滚动升级的状态
kubectl rollout history <resource_type> <resource_name> 查看滚动升级的历史记录
kubectl apply -f --dry-run=client -o yaml 检查资源配置文件的语法错误和效果,但不实际创建资源
kubectl get events 获取集群中的事件列表
kubectl get namespaces 获取所有命名空间的列表
kubectl config get-contexts 获取当前配置的上下文列表
kubectl config use-context <context_name> 切换到指定的上下文

这些命令可以帮助您管理和操作Kubernetes集群中的各种资源。请根据您的需求和环境进行相应的调整和使用。

kubesphere中可视化部署应用

kubesphere将k8s中资源进行可视化操作,简化了部署难度,如将上述Deployment、Job等资源可视化为如下截图:
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

创建工作负载

可在工作负载(Deployment)中部署应用:

  1. 工作负载创建

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 填写名称

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 填写容器镜像

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 设置容器的资源限制与资源预留

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 容器端口设置

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 设置环境变量

环境变量各有差异取决于部署什么应用,一般可以在https://hub.docker.com/搜索查询

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 挂载数据文件

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
选择持久卷声明:
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 挂载配置文件

创建字典或保密字段:
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
选择字典或保密字段:
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
配置挂载路径:
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
下一步,创建工作负载

服务暴露

  1. 创建服务指定工作负载

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 选择工作负载

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 填写容器和服务端口

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 下一步选择外部访问方式

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 查看创建情况

此时可以使用k8s集群宿主机ip+暴露端口访问mysql
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

helm部署应用

上述部署方式适合单应用部署,一旦应用依赖比较复杂,如部署nacos应用可能需要使用到mysql,就需先部署mysql,在部署nacos。而helm将这些复杂的操作进行了封装提供values.yaml文件对可变动配置进行暴露。在kubesphere中使用helm部署应用可通过原始命令行操作,也可以通过应用仓库操作,应用仓库是helm的可视化操作。

helm命令行部署应用

一般步骤,具体可参考表格命令

  1. 添加一个 Helm 仓库
  2. 安装一个 Helm 包
命令 描述 示例
helm install 安装一个 Helm 包 helm install my-release stable/mysql
helm upgrade 升级已安装的 Helm 包 helm upgrade my-release stable/mysql
helm uninstall 卸载一个已安装的 Helm 包 helm uninstall my-release
helm list 列出已安装的 Helm 包 helm list
helm status 显示已安装的 Helm 包的状态 helm status my-release
helm rollback 回滚到先前的 Helm 包版本 helm rollback my-release 1
helm search 搜索可用的 Helm 包 helm search repo mysql
helm repo add 添加一个 Helm 仓库 helm repo add stable https://charts.helm.sh/stable
helm repo update 更新已添加的 Helm 仓库 helm repo update
helm repo list 列出已添加的 Helm 仓库 helm repo list
helm dependency update 更新 Helm 依赖 helm dependency update my-chart
helm lint 检查 Helm Chart 的语法和最佳实践 helm lint my-chart
helm template 生成 Helm Chart 的模板文件 helm template my-chart
helm history 显示已安装 Helm 包的历史版本 helm history my-release
helm plugin install 安装 Helm 插件 helm plugin install https://example.com/helm-plugin.tar.gz
helm plugin list 列出已安装的 Helm 插件 helm plugin list
helm plugin uninstall 卸载已安装的 Helm 插件 helm plugin uninstall my-plugin
helm env 显示 Helm 的环境变量信息 helm env

kubesphere中使用应用仓库

  1. 创建企业空间

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 进入企业空间添加应用仓库

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 创建项目

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 进入项目部署应用

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 选择应用仓库

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes
12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 点击nacos,选择nacos版本,点击下一步

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 修改values.yaml
mysql:
  enabled: true # 是否启用内部mysql,false使用外部需配置external
  external:
    mysqlMasterHost: "mysql_master_host"
    mysqlDatabase: "nacos"
    mysqlMasterPort: "3306"
    mysqlMasterUser: "nacos"
    mysqlMasterPassword: "nacos"
    mysqlSlaveHost: "mysql_slave_host"
    mysqlSlavePort: "3306"

  architecture: replication
  auth: #  修改nacos
    rootPassword: "nacos"
    database: "nacos"
    username: "nacos"
    password: "nacos"
    replicationUser: "replicator"
    replicationPassword: "replicator"
  1. 查看应用列表

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 点击应用查看部署详情

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 服务暴露情况

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes

  1. 访问测试

12.云原生之kubesphere中应用部署方式,私有云搭建实战,云原生,kubernetes文章来源地址https://www.toymoban.com/news/detail-792902.html

到了这里,关于12.云原生之kubesphere中应用部署方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生周刊 | 让 ChatGPT 以电子邮件的方式来解释 KubeSphere

    过去的一周是 ChatGPT 的狂欢,我猜每一位云原生玩家都很好奇他是如何看待 Kubernetes 的。咱们不防换个方式来提问,让它使用电子邮件的方式来向别人推荐 KubeSphere 和 OpenFunction。 Tailscale Ingress Controller 这是针对 Tailscale 设计的 Kubernetes Ingress Controller,它会为 Ingress 资源中的每

    2024年02月15日
    浏览(40)
  • 【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Redis从头学 应用 版本/型号 服务器 腾讯云轻量服务器 镜像 Centos 7.6 Docker 1.13.1 Redis redis-6.2.1 Docker-Compose 1.29.2 Redis发生

    2024年02月11日
    浏览(36)
  • 云原生|kubernetes|离线化部署kubesphere(从网络插件开始记录)

    kubesphere的离线化部署指的是通过自己搭建的harbor私有仓库拉取镜像,完全不依赖于外部网络的方式部署。 我的kubernetes集群是一个单master节点,双工作节点,总计三个节点的版本为1.22.16的集群。 该集群只是初始化完成了,网络插件什么的都还没有安装,本文计划做一个整合

    2024年02月11日
    浏览(66)
  • 5.云原生安全之kubesphere应用网关配置域名TLS证书

    云原生专栏大纲 将域名托管到cloudflare进行域名解析管理,使用cloudflare管理域名,免费为域名提供安全证书 登录https://dash.cloudflare.com/ 添加站点 填写站点域名 选择免费版 查看 Cloudflare 名称服务器 进入购买域名网站控制台,将域名服务器设置为Cloudflare 名称服务器 购买国外域

    2024年01月15日
    浏览(28)
  • 云原生|kubernetes|centos7下的kubeadm部署的集群内在线部署kubesphere(外部etcd)

    本文将主要就在centos7操作系统下已有的一个利用kubeadm部署的集群内在线安装kubesphere做一个介绍,该kubernetes集群是使用的etcd外部集群。 kubernetes集群的搭建本文不做过多介绍,具体的搭建流程见我的博客: 云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群_kubeadm

    2024年02月11日
    浏览(31)
  • 云原生时代,如何通过极狐GitLab x KubeSphere 构建安全应用?

    目录 DevSecOps 是什么?如何帮助我们打造云原生安全生态? 如何寻找云原生 DevSecOps 落地切入点? 第一层:K8s 安全 第二层:容器镜像安全 第三层:应用程序安全 这么多安全功能,如何去实现落地? 极狐GitLab x KubeSphere 云原生安全体系如何构建? 极狐GitLab 介绍 KubeSphere 介绍

    2024年02月11日
    浏览(41)
  • KubeSphere 部署 Zookeeper 实战教程

    知识点 定级: 入门级 如何利用 AI 助手 辅助运维工作 单节点 Zookeeper 安装部署 集群模式 Zookeeper 安装部署 开源应用选型思想 实战服务器配置(架构 1:1 复刻小规模生产环境,配置略有不同) 主机名 IP CPU 内存 系统盘 数据盘 用途 ks-master-0 192.168.9.91 4 8 50 100 KubeSphere/k8s-master ks

    2024年02月12日
    浏览(30)
  • 【云原生、k8s】管理Kubernetes应用搭建与部署

    官方提供Kubernetes部署3种方式 (一)minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方文档:https://kubernetes.io/docs/setup/minikube/ (二)二进制包 从官方下载发行版的二进制包,手动部署每个组件,

    2024年01月21日
    浏览(51)
  • kubesphere中部署grafana实现dashboard以PDF方式导出

        GF_RENDERING_SERVER_URL       http://ip:30323/render   #grafana-image-renderer地址 GF_RENDERING_CALLBACK_URL   http://ip:32403/   #grafana地址 GF_LOG_FILTERS                              rendering:debug        

    2024年02月11日
    浏览(35)
  • 使用KubeSphere轻松部署Bookinfo应用

    这个示例部署了一个用于演示多种 Istio 特性的应用,该应用由四个单独的微服务构成。 如安装了 Istio,说明已安装 Bookinfo。 这个应用模仿在线书店的一个分类,显示一本书的信息。 页面上会显示一本书的描述,书籍的细节(ISBN、页数等),及书评。 Bookinfo 应用分为四个单

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包