kubernetes集群部署nginx应用服务
1.首先保证k8s的服务已经安装配置完成可参考K8s安装配置教程然后在master节点服务器上查询node节点运行状态 输入:kubectl get nodes2.我们在master服务器上面创建一个文件夹用来存放我们需要运行的服务启动的yaml文件mkdir -p /opt/k8s/3.创建deployment文件 vinginx-deployment.yaml 内容如下apiVersion:
·
1.首先保证k8s的服务已经安装配置完成可参考 K8s安装配置教程
然后在master节点服务器上查询node节点运行状态 输入:kubectl get nodes
2.我们在master服务器上面创建一个文件夹用来存放我们需要运行的服务启动的yaml文件
mkdir -p /opt/k8s/
3.创建deployment文件 vi nginx-deployment.yaml 内容如下
apiVersion: extensions/v1beta1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本
kind: Deployment #该配置的类型,我们使用的是 Deployment
metadata: #译名为元数据,即 Deployment 的一些基本属性和信息
name: nginx-deployment #Deployment 的名称
labels: #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组,目前不需要理解
app: nginx #为该Deployment设置key为app,value为nginx的标签
spec: #这是关于该Deployment的描述,可以理解为你期待该Deployment在k8s中如何使用
replicas: 3 #使用该Deployment创建一个应用程序实例
selector: #标签选择器,与上面的标签共同作用,目前不需要理解
matchLabels: #选择包含标签app:nginx的资源
app: nginx
template: #这是选择或创建的Pod的模板
metadata: #Pod的元数据
labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Pod
app: nginx
spec: #期望Pod实现的功能(即在pod中部署)
containers: #生成container,与docker中的container是同一种
- name: nginx #container的名称
image: docker.io/nginx:latest #使用镜像nginx:latest创建container,该container默认80端口可访问
ports:
- containerPort: 80
4.应用 YAML 文件
kubectl apply -f nginx-deployment.yaml
5.查看部署结果
# 查看 Deployment
kubectl get deployments
# 查看 Pod
kubectl get pods
至此你已经成功在k8s上部署了一个实例的nginx应用程序
6.但是如果要外部访问服务 我们需要对外公布应用程序
创建文件 nginx-service.yaml
vi nginx-service.yaml
7.内容如下
apiVersion: v1
kind: Service
metadata:
name: nginx-service #Service 的名称
labels: #Service 自己的标签
app: nginx #为该 Service 设置 key 为 app,value 为 nginx 的标签
spec: #这是关于该 Service 的定义,描述了 Service 如何选择 Pod,如何被访问
selector: #标签选择器
app: nginx #选择包含标签 app:nginx 的 Pod
ports:
- name: nginx-port #端口的名字
protocol: TCP #协议类型 TCP/UDP
port: 80 #集群内的其他容器组可通过 80 端口访问 Service
nodePort: 30001 #通过任意节点的 32600 端口访问 Service
targetPort: 80 #将请求转发到匹配 Pod 的 80 端口
type: NodePort #Serive的类型,ClusterIP/NodePort/LoaderBalancer
8.执行命令
kubectl apply -f nginx-service.yaml
9.查询执行结果
kubectl get services -o wide #可查看到名称为 nginx-service 的服务
10.访问应用
访问 <任意节点的 IP>:30001
更多推荐
已为社区贡献4条内容
所有评论(0)