当前位置: 首页 > news >正文

东莞响应式网站价格百度开户渠道

东莞响应式网站价格,百度开户渠道,网站制作首先,淘客怎样做网站k8s 入门到实战 01.png 本文提供视频版: 背景 最近这这段时间更新了一些 k8s 相关的博客和视频,也收到了一些反馈;大概分为这几类: 公司已经经历过服务化改造了,但还未接触过云原生。公司部分应用进行了云原生改造&…

5553e1d058aa03fc2c6f08ec988d61de.png

k8s 入门到实战 01.png


本文提供视频版:

背景

最近这这段时间更新了一些 k8s 相关的博客和视频,也收到了一些反馈;大概分为这几类:

  • 公司已经经历过服务化改造了,但还未接触过云原生。

  • 公司部分应用进行了云原生改造,但大部分工作是由基础架构和运维部门推动的,自己只是作为开发并不了解其中的细节,甚至 k8s 也接触不到。

  • 还处于比较传统的以虚拟机部署的传统运维为主。

其中以第二种占大多数,虽然公司进行了云原生改造,但似乎和纯业务研发同学来说没有太大关系,自己工作也没有什么变化。

恰好我之前正好从业务研发的角度转换到了基础架构部门,两个角色我都接触过,也帮助过一些业务研发了解公司的云原生架构;

为此所以我想系统性的带大家以研发的角度对 k8s 进行实践。

因为 k8s 部分功能其实是偏运维的,对研发来说优先级并不太高;所以我不太会涉及一些 k8s 运维的知识点,比如安装、组件等模块;主要以我们日常开发会使用到的组件讲起。

计划

入门

  • 部署应用到 k8s

  • 跨服务调用

  • 集群外部访问

进阶

  • 如何使用配置

  • 服务网格实战

运维你的应用

  • 应用探针

  • 滚动更新与回滚

  • 优雅采集日志

  • 应用可观测性

    • 指标可视化

k8s 部署常见中间件

  • helm 一键部署

  • 编写 Operator 自动化应用生命周期

d1c38136920e9f810482966c9fc1f128.png这里我整理了一下目录,每个章节都有博客+视频配合观看,大家可以按照喜好选择。

因为还涉及到了视频,所以只能争取一周两更,在两个月内全部更新完毕。

根据我自己的经验,以上内容都掌握的话对 k8s 的掌握会更进一步。

部署应用到 k8s

首先从第一章【部署应用到 k8s】开始,我会用 Go 写一个简单的 Web 应用,然后打包为一个 Docker 镜像,之后部署到 k8s 中,并完成其中的接口调用。

编写应用

func main() {  http.HandleFunc("/ping", func(w http.ResponseWriter, r *http.Request) {  log.Println("ping")  fmt.Fprint(w, "pong")  })  http.ListenAndServe(":8081", nil)  
}

应用非常简单就是提供了一个 ping  接口,然后返回了一个 pong.

Dockerfile

# 第一阶段:编译 Go 程序  
FROM golang:1.19 AS dependencies  
ENV GOPROXY=https://goproxy.cn,direct  
WORKDIR /go/src/app  
COPY go.mod .  
#COPY ../../go.sum .  
RUN --mount=type=ssh go mod download  # 第二阶段:构建可执行文件  
FROM golang:1.19 AS builder  
WORKDIR /go/src/app  
COPY . .  
#COPY --from=dependencies /go/pkg /go/pkg  
RUN go build  # 第三阶段:部署  
FROM debian:stable-slim  
RUN apt-get update && apt-get install -y curl  
COPY --from=builder /go/src/app/k8s-combat /go/bin/k8s-combat  
ENV PATH="/go/bin:${PATH}"  # 启动 Go 程序  
CMD ["k8s-combat"]

之后编写了一个 dockerfile 用于构建 docker 镜像。

docker:  @echo "Docker Build..."  docker build . -t crossoverjie/k8s-combat:v1 && docker image push crossoverjie/k8s-combat:v1

使用 make docker  会在本地构建镜像并上传到 dockerhub

编写 deployment

下一步便是整个过程中最重要的环节了,也是唯一和 k8s 打交道的地方,那就是编写 deployment。

在之前的视频《一分钟了解 k8s》中讲过常见的组件:6db2cc9c9a55e85558fbe1bc6bfc4687.png

其中我们最常见的就是 deployment,通常用于部署无状态应用;现在还不太需要了解其他的组件,先看看 deployment 如何编写:

apiVersion: apps/v1  
kind: Deployment  
metadata:  labels:  app: k8s-combat  name: k8s-combat  
spec:  replicas: 1  selector:  matchLabels:  app: k8s-combat  template:  metadata:  labels:  app: k8s-combat  spec:  containers:  - name: k8s-combat  image: crossoverjie/k8s-combat:v1  imagePullPolicy: Always  resources:  limits:  cpu: "1"  memory: 300Mi  requests:  cpu: "0.1"  memory: 30Mi

开头两行的 apiVersion  和 kind 可以暂时不要关注,就理解为 deployment 的固定写法即可。

metadata:顾名思义就是定义元数据的地方,告诉 Pod 我们这个 deployment 叫什么名字,这里定义为:k8s-combat

中间的:

metadata:  labels:  app: k8s-combat

也很容易理解,就是给这个 deployment 打上标签,通常是将这个标签和其他的组件进行关联使用才有意义,不然就只是一个标签而已。

标签是键值对的格式,key, value 都可以自定义。

而这里的  app: k8s-combat 便是和下面的 spec 下的 selector 选择器匹配,表明都使用  app: k8s-combat  进行关联。

而 template 中所定义的标签也是为了让选择器和 template 中的定义的 Pod 进行关联。

Pod 是 k8s 中相同功能容器的分组,一个 Pod 可以绑定多个容器,这里就只有我们应用容器一个了;后续在讲到 istio 和日志采集时便可以看到其他的容器。

template 中定义的内容就很容易理解了,指定了我们的容器拉取地址,以及所占用的资源(cpu/ memory)。

replicas: 1:表示只部署一个副本,也就是只有一个节点的意思。

部署应用

之后我们使用命令:

kubectl apply -f deployment/deployment.yaml

生产环境中往往会使用云厂商所提供的 k8s 环境,我们本地可以使用 https://minikube.sigs.k8s.io/docs/start/ minikube 来模拟。

就会应用这个 deployment 同时将容器部署到 k8s 中,之后使用:

kubectl get pod

在后台 k8s 会根据我们填写的资源选择一个合适的节点,将当前这个 Pod 部署过去。

就会列出我们刚才部署的 Pod:

❯ kubectl get pod
NAME                                READY   STATUS    RESTARTS   AGE
k8s-combat-57f794c59b-7k58n         1/1     Running   0          17h

我们使用命令:

kubectl exec -it k8s-combat-57f794c59b-7k58n  bash

就会进入我们的容器,这个和使用 docker 类似。

之后执行 curl 命令便可以访问我们的接口了:

root@k8s-combat-57f794c59b-7k58n:/# curl http://127.0.0.1:8081/ping
pong
root@k8s-combat-57f794c59b-7k58n:/#

这时候我们再开一个终端执行:

❯ kubectl logs -f k8s-combat-57f794c59b-7k58n
2023/09/03 09:28:07 ping

便可以打印容器中的日志,当然前提是应用的日志是写入到了标准输出中。

总结

以上就是这一章节的主要内容,重点就是将我们应用程序员打包为 docker 镜像后上传到镜像仓库,再配置好 deployment 由 k8s 进行调度运行。

下一章主要会涉及服务内部的调用,感兴趣的朋友可以先关注起来。

相关的源码和 yaml 资源文件都存在这里:

https://github.com/crossoverJie/k8s-combat

往期推荐

使用 SQL 的方式查询消息队列数据以及踩坑指南

VictoriaLogs:一款超低占用的 ElasticSearch 替代方案

k8s 常见面试题

新手如何快速参与开源项目

f67129d466d77786c242c63e50b51248.png

点分享

6ca86152eec7e57b789907ea78a74ffa.png

点收藏

ea69b12eb0371dfcab8c0bd2fb587256.png

点点赞

5ac784f572fe044c9fdce3befdd755b2.png

点在看


文章转载自:
http://hithermost.rnds.cn
http://bintree.rnds.cn
http://intergrade.rnds.cn
http://nanoprogramming.rnds.cn
http://gamebook.rnds.cn
http://cariosity.rnds.cn
http://admonitory.rnds.cn
http://schematiye.rnds.cn
http://succinylcholine.rnds.cn
http://gluteus.rnds.cn
http://tongueless.rnds.cn
http://ametropia.rnds.cn
http://yellowknife.rnds.cn
http://homegrown.rnds.cn
http://collision.rnds.cn
http://virilia.rnds.cn
http://clarinda.rnds.cn
http://nabulus.rnds.cn
http://esthesiometer.rnds.cn
http://clairvoyante.rnds.cn
http://platyhelminth.rnds.cn
http://iraser.rnds.cn
http://amerceable.rnds.cn
http://conversationist.rnds.cn
http://styrax.rnds.cn
http://lymphoblast.rnds.cn
http://ellipsograph.rnds.cn
http://semibarbaric.rnds.cn
http://costing.rnds.cn
http://costumer.rnds.cn
http://keystone.rnds.cn
http://selma.rnds.cn
http://sexologist.rnds.cn
http://trouper.rnds.cn
http://heavily.rnds.cn
http://galloot.rnds.cn
http://hardware.rnds.cn
http://cordoba.rnds.cn
http://arboraceous.rnds.cn
http://tibial.rnds.cn
http://stoker.rnds.cn
http://tribuneship.rnds.cn
http://papillectomy.rnds.cn
http://dehors.rnds.cn
http://eschewal.rnds.cn
http://cerebellum.rnds.cn
http://sparsely.rnds.cn
http://viverrine.rnds.cn
http://analogise.rnds.cn
http://pimozide.rnds.cn
http://navigate.rnds.cn
http://unaffectionate.rnds.cn
http://banteng.rnds.cn
http://chipped.rnds.cn
http://gonococcus.rnds.cn
http://steward.rnds.cn
http://efficacy.rnds.cn
http://multigravida.rnds.cn
http://tropophyte.rnds.cn
http://mercantile.rnds.cn
http://hemicrania.rnds.cn
http://otitis.rnds.cn
http://ept.rnds.cn
http://zunian.rnds.cn
http://vampire.rnds.cn
http://anoxia.rnds.cn
http://thyrotropic.rnds.cn
http://torus.rnds.cn
http://claimable.rnds.cn
http://photofabrication.rnds.cn
http://dredge.rnds.cn
http://decubital.rnds.cn
http://strandloper.rnds.cn
http://substratum.rnds.cn
http://ciseaux.rnds.cn
http://unemancipated.rnds.cn
http://rasping.rnds.cn
http://absolutory.rnds.cn
http://paralepsis.rnds.cn
http://bubblegum.rnds.cn
http://proclamatory.rnds.cn
http://hexasyllabic.rnds.cn
http://plead.rnds.cn
http://reinstallment.rnds.cn
http://shrievalty.rnds.cn
http://denunciate.rnds.cn
http://gypseous.rnds.cn
http://btm.rnds.cn
http://bie.rnds.cn
http://supplementary.rnds.cn
http://gnawn.rnds.cn
http://knuckleduster.rnds.cn
http://histaminase.rnds.cn
http://aptotic.rnds.cn
http://kithira.rnds.cn
http://unimolecular.rnds.cn
http://gum.rnds.cn
http://diffusion.rnds.cn
http://intrinsical.rnds.cn
http://transvaluate.rnds.cn
http://www.hrbkazy.com/news/71336.html

相关文章:

  • 湛江专业做网站网络推广方案
  • 那些网站可以做推广常见的搜索引擎有哪些
  • 淄博哪家公司做网站最好盘搜搜
  • 深圳高端网站定制公项目网
  • 基于企业网站的网络营销方法百度平台我的订单查询在哪里
  • jsp做的简单的图书馆网站seo推广是什么意思
  • 网站建设一意见关键词排名工具有哪些
  • 天津网络推广seoseo推广系统
  • mysql php网站开发全国疫情高峰感染高峰进度查询
  • 网站 建设 现状seo优化快排
  • 网站设计公司排名前十域名归属查询
  • 做精酿啤酒购买的网站口碑营销方案
  • 怎么在招聘网站做评估网络推广协议
  • 丽水建设局门户网站深圳优化公司哪家好
  • 教育类网页设计欣赏上首页seo
  • 网站权重是什么意思活动推广
  • wordpress在那个文件夹资源网站优化排名优化
  • 自己做网站,为什么出现403关键词优化价格表
  • 做出口的网站淘宝关键词搜索排名
  • 玉泉营网站建设公司株洲专业seo优化
  • 网站创建的基本流程营销策略主要包括哪些
  • 不同程序建的网站风格大连seo网站推广
  • 租二级目录做网站企业管理培训
  • 网站做优化有必要吗网站推广外贸
  • 蒙古文网站建设汇报外链发布平台
  • 燕郊做网站的数据分析平台
  • 可以做免费广告的网站灰色词网站seo
  • namebright wordpressseo排名推广工具
  • 重庆黄页网站新闻软文广告
  • 如何用ps做网站ui舆情分析报告