这里写目录标题
实验环境:基于 CentOS7 搭建的 k8s 集群,一个 master 节点,一个 node 节点。
1、创建 nginx-rc.yaml
vim nginx-rc.yaml
# 文件内容
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx-controller
spec:
replicas: 2
selector:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
2、创建 nginx-service-nodeport.yaml
vim nginx-service-nodeport.yaml
# 文件内容
apiVersion: v1
kind: Service
metadata:
name: nginx-service-nodeport
spec:
ports:
- port: 8000
targetPort: 80
protocol: TCP
type: NodePort
selector:
name: nginx
3、创建 pod
kubectl create -f nginx-rc.yaml
4、创建 service
kubectl create -f nginx-service-nodeport.yaml
5、查看 pod 和 service
[root@master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-controller-f9qfs 1/1 Running 0 42s
nginx-controller-nd9jm 1/1 Running 0 42s
[root@master ~]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 47h
nginx-service-nodeport NodePort 10.1.217.202 <none> 8000:32353/TCP 47m
如果有多个 node 节点,则两个 pod 可能不会被部署在同一个节点上,这也说明此时 k8s 自动对 pod 进行了调度。
6、访问服务
可通过任意节点访问服务,通过浏览器,输入 service 网址及端口号,这里输入http://192.168.10.21:32353/,出现 Welcome to nginx!说明创建成功。