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

网站风格介绍域名查询138ip

网站风格介绍,域名查询138ip,信息查询类网站是怎么做的,阿里巴巴网站详情页怎么做上几篇讲了部署master和worker node 及网络插件calico, 现在开始实际运行一个容器。 1. 新建nginx.yaml文件 方式1:直接创建一个pod 和一个 service,一般不直接这样创建,该方式仅适用于测试或学习 apiVersion: v1 kind: Pod …

上几篇讲了部署master和worker node 及网络插件calico, 现在开始实际运行一个容器。

1. 新建nginx.yaml文件

方式1:直接创建一个pod 和一个 service,一般不直接这样创建,该方式仅适用于测试或学习

apiVersion: v1
kind: Pod                 # 资源对象类型 为pod
metadata:name: nginxnamespace: dev      # 指定命令空间, 不然默认 default 命令空间labels:             # 标签app: nginx
spec:                 # 属性containers:         # 容器- name: nginximage: nginx:1.27.4      # 镜像源 imagePullPolicy: IfNotPresent  # 如果本地已有镜像,则不再拉取ports:- containerPort: 80  # 容器暴露的端口
---
apiVersion: v1
kind: Service                 # 资源类型为service
metadata:                     # 元数据name: nginx-servicenamespace: dev               # 命令空间,默认default,不建议使用默认
spec:type: NodePort             # 类型,ClusterIP,NodePort, LoadBalancerselector:                  # 选择器,选择哪个标签labelsapp: nginxports:                     # 端口- name: httpprotocol: TCP          # 协议类型 TCP,UDP,STCPport: 80               # Service 的端口(集群内访问)targetPort: 80         # 容器的端口(与 Pod 的 containerPort 一致)nodePort: 30002        # 节点的访问端口(范围 30000-32767

方式2: 使用 deployment 部署一个nginx service (推荐)

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentnamespace: dev
spec:replicas: 1     # 副本数selector:       # 选择器matchLabels:app: nginxtemplate:        # 模版metadata:      # 元数据labels:app: nginxspec:            # 属性containers:- name: nginx-containerimage: nginx:1.27.4     # 镜像源imagePullPolicy: IfNotPresentports:- containerPort: 80---apiVersion: v1
kind: Service
metadata:name: nginx-servicenamespace: dev
spec:selector:app: nginxports:- protocol: TCPport: 80targetPort: 80nodePort: 30002type: NodePort

2. 新建命令空间

如果不新建命令空间,将使用默认的命令空间default,这样不符合规范,容器一多也不方便管理

kubectl create namespace <name-space>  
如: kubectl create namespace dev  # 创建命名空间dev

上文使用的命令空间是dev

kubectl get ns #查看所有的命名空间
NAME              STATUS   AGE
default           Active   8d
dev               Active   12h
kube-node-lease   Active   8d
kube-public       Active   8d
kube-system       Active   8d
test              Active   11h

3. 在 worker node 拉取镜像到本地

nginx 官方镜像地址国内无法访问,如果本地没有就会从官方地址拉取,没有配置代理则会拉取失败。所以先下载到本地。

下载地址可以参数上篇calico的地址:

ctr -n k8s.io images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.27.4-linuxarm64ctr -n k8s.io images tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.27.4-linuxarm64 docker.io/library/ngigx:1.27.4

4. 创建pod 和service

本文最后使用方式2创建,使用方式1时是测试镜像拉取出现的问题,后文会有记录。

kubectl create -f nginx.yaml    # 首次创建
或
kubectl apply -f nginx.yaml    # 更新

创建成功master节点查看:

[root@k8s-master test]# kubectl get pods -n dev
NAME                               READY   STATUS    RESTARTS   AGE
nginx-deployment-f57fb66d4-tqmcj   1/1     Running   0          6h47m[root@k8s-master test]# kubectl get service -n dev
NAME            TYPE       CLUSTER-IP        EXTERNAL-IP   PORT(S)        AGE
nginx-service   NodePort   192.168.127.107   <none>        80:30002/TCP   6h48m

5. 访问

masternode 节点输入localhost:30002
在这里插入图片描述
集群外的机器输入IP:30002 也能访问,这里就不截图了。

6. 踩坑

6.1 镜像地址

  1. imagePullPolicy 一定要配,不然就会从官方拉取,这里开始一直纳闷为啥本地拉取了镜像在创建pod时,状态一直是ImagePullBackOff
  2. yaml 文件中是image:nginx:xxx, 本地拉取镜像给镜像打tag必须是docker.io/library/nginx:xxx, 因为在拉取镜像时会在镜像名前默认添加docker.io/library/ 的前缀,这点很坑。

使用方式1, 因为不了解 6.1, 所以在修改镜像地址时,写的 image: dev/nginx:1.27.4,而tag 还是 docker.io/library/nginx:xxx, 导致拉取镜像失败。

查看pod 的详细信息报:

Normal   Scheduled  36s               default-scheduler  Successfully assigned dev/nginx to k8s-node1Normal   Pulled     5s (x5 over 35s)  kubelet            Container image "nginx:1.27.4" already present on machineWarning  Failed     5s (x5 over 35s)  kubelet            Error: failed to get image from containerd "sha256:9b1b7be1ffa607d40d545607d3fdf441f08553468adec5588fb58499ad77fe58": image "docker.io/dev/nginx:1.27.4": not found

6.2 nodeport 不存在

因为节点的访问端口设置的30002, 所以在查看podservice没问题后,在节点netstat -nlp | grep 30002 ,哦豁,超出认知范围,竟然找不到端口。
不知道为啥,然后在浏览器瞎试了一把,发现步骤5竟然没问题。
然后去找了一下资料,是被iptables 转发了。

检查 iptables 规则(查找 30002 端口相关规则)
iptables -t nat -L KUBE-NODEPORTS -n --line-numbers | grep 30002  
# 存在类似 KUBE-SVC-XXX tcp dpt:30002 的规则,说明流量通过 iptables 转发
http://www.dtcms.com/wzjs/287195.html

相关文章:

  • 建设个直播网站要多少钱网站推广和优化的原因
  • 做衣服视频有些什么网站河南靠谱seo电话
  • 无锡做网站哪个公司好2023网站seo
  • 中国工商注册网官网入口安卓优化大师官网
  • 深圳外贸商城网站建设seo是怎么优化推广的
  • 手机wap网站特效百度关键词seo优化
  • 涟水做网站事件营销成功案例
  • java项目网站开发搜索引擎排名2022
  • 住房和城乡建设部干部学院网站电脑学校培训
  • 深圳网站建设网络推广在线网页制作系统搭建
  • 为什么在百度搜不到我的网站广州头条新闻最新
  • 南昌做网站建设公司电商平台运营
  • 如何做360网站的排名申请网站怎样申请
  • 桥东区网站建设2023年最新时政热点
  • 网站制作知名公司企点下载
  • b站刚开始怎么推广上海还能推seo吗
  • 展示网站建设的ppt推广关键词外包
  • 先建设网站后付款流程优化的七个步骤
  • wordpress+粘贴表格在线工具seo
  • 公司网站建设哪家好360优化大师官方下载手机
  • 网站左侧悬浮网页在线生成
  • 告诉你做网站需要多少钱广西网站建设制作
  • 协会网站建设需求文档seo查询软件
  • 做企业国际网站多少钱公司网站怎么注册
  • 网站点击率如何做网站流量查询平台
  • python 做网站开发吗网络营销主要做些什么
  • 网站建设联系电话株洲seo推广
  • wordpress log 日志百度seo是什么意思呢
  • 如何建设黔货出山电子商务网站常用的网络推广方法
  • 网站设计需要考虑哪些基本原则网络营销的推广方法有哪些