上一篇博客已经安装初始化完成了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
注:正常情况下,容器会运行在一个节点中,节点和master的ip+端口号都可以访问该网站
2.使用yaml文件部署
创建一个yaml文件,我的是demo-nginx.yaml(是我加的一个群,里边的大佬发给我学习用的)
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
出现的错误
容器正常启动,pods查询也能查到,但是就是访问不了 dns显示不正常,我重启解决了问题!!!!! 惊呆了我,我不知道为啥,对不起在座的诸位,有大佬希望能告诉我为啥