K8s部署nginx
上一篇博客已经安装初始化完成了K8S1.初步搭建一个pod1.1拉取镜像kubectl create deployment nginx --image=nginx1.2等待镜像完成kubectl get pod当status为running就是拉取完成已经运行了1.3将运行的服务对外暴露kubectl expose deployment nginx --port=80 --type=NodePor
·
上一篇博客已经安装初始化完成了K8S
1.初步搭建一个pod
1.1拉取镜像
kubectl create deployment nginx --image=nginx
1.2等待镜像完成
kubectl get pod
当status为running就是拉取完成已经运行了
1.3将运行的服务对外暴露
kubectl expose deployment nginx --port=80 --type=NodePort
1.4查询当前pod查看端口
kubectl get pod,svc
注:正常情况下,容器会运行在一个节点中,节点的ip+端口号都可以访问该网站
1.5删除服务
kubectl delete deployment nginx
2.使用yaml文件部署
创建一个yaml文件,我的是demo-nginx.yaml(是我加的一个群,里边的大佬发给我学习用的)
##版本号,pod资源
apiVersion: apps/v1
##类型/控制器
kind: Deployment
##数据标签
metadata:
##容器名称
name: mynginx
##子标签
namespace: default
labels:
##业务容器
app: mynginx
spec:
##副本数
replicas: 1
##选择器
selector:
##匹配标签
matchLabels:
##对应上面的容器名称
app: mynginx
##模板
template:
metadata:
labels:
##对应上面的容器名称
app: mynginx
#指定资源内容
spec:
##业务容器
containers:
##对应上面的容器名称
- name: mynginx
##使用哪个镜像
image: nginx
ports:
##容器端口信息
- containerPort: 80
##协议
protocol: TCP
resources:
limits:
cpu: 150m
memory: 500Mi
requests:
cpu: 10m
memory: 10Mi
# 错误日志路径和类型
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
##版本号
apiVersion: v1
##服务类型
kind: Service
metadata:
name: mynginx
namespace: default
labels:
app: mynginx
spec:
ports:
- name: http
##内部端口
port: 80
protocol: TCP
##映射端口
targetPort: 80
##指定访问端口
nodePort: 30002
##选择器
selector:
##选择业务进行发布
app: mynginx
sessionAffinity: None
##端口映射
type: NodePort
然后切换到配置目录下执行以下命令
kubectl apply -f demo-nginx.yaml #启动服务
kubectl delete-f demo-nginx.yaml #删除服务
出现的错误
容器正常启动,pods查询也能查到,但是就是访问不了
dns显示不正常,我重启解决了问题!!!!!
惊呆了我,我不知道为啥,对不起在座的诸位,有大佬希望能告诉我为啥
更多推荐
已为社区贡献1条内容
所有评论(0)