deployment是k8s中部署应用最常见的一种方式。如果不需要被访问,那么只需要定义deployment即可。如果需要被其他服务访问,那么可以创建一个service与其绑定,通过访问service来访问对应的服务。

 

 kubernetes deployment

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: my-nginx
spec:
#副本数量 replicas:
1 template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports:
# 暴露容器的80端口
- containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: my-nginx labels: run: my-nginx spec: ports: - port: 80 protocol: TCP nodePort: 30010
#将设置的nodePort端口映射到宿主机上 type: NodePort
#与deployment进行绑定 selector: run: my
-nginx

如上创建一个nginx的应用,访问任意节点IP:30010端口就就可以看到nginx的web页面。

比较关键的是,这里设置了deployment和service都设置了run: my-nginx,来绑定在一起。

replicas字段设置pod数量,多个pod会通过service进行负载均衡。

 

创建:kubelctl apply -f ngixn.yaml(再次执行可以更新)

验证:curl 127.0.0.1:30010

如果有问题可以通过

kubectl get pod

kubectl describe pod my-nginx

kubectl logs my-nginx 来排除问题

 

如果是稍微复杂的应用:

master-work结构,work向master注册,然后由master分配任务

kubernetes deployment

 

那么就需要这么创建

kubernetes deployment

 

相关文章:

  • 2021-10-12
  • 2021-11-30
  • 2022-12-23
  • 2021-05-19
  • 2021-12-10
  • 2021-08-25
  • 2021-09-25
猜你喜欢
  • 2021-08-19
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案