kubernetes 创建nginx 容器

一个简单的nginx服务器

先决条件:你需要拥有的是一个部署完毕并可以正常运行的k8s集群。

1.拉 nginx 镜像,上传到私服

方案一:使用界面 k8s dashboard 创建

1.创建rc :

创建完后:

两个同时创建.

因为创建rc的时候 选择了内部服务。

如图:

我们尝试在 minion节点上 访问

nginx

方式一:    Cluster IP+port  注意配置的是 targetPort 即容器内的端口是80

可以访问!

方式二:通过 pod的 Cluster IP+containerPort

实践证明 :都可以!

注意:2个都叫  Cluster IP ,但是实际上 后面的是 容器的ip,签名的应该 是 另外的一个ip

2个ip的区别 未来需要继续弄清楚。

另外:这三个IP都不是 minion的节点的 IP,192.168.179.135

节点的IP 80 或81端口都不行的。

据此:尝试创建 一个外部服务

测试:

以上三个IP都可以。

重点:  minion节点的IP+ 32108 端口居然可以访问

方案二:通过yaml文件创建  rc和svc    即rc和service   本方法没验证,但是yaml是从 界面里拷出来的。理论上可以的

1.创建rc

Replication Controller        {5}

kind    :    ReplicationController

apiVersion    :    v1

    metadata        {8}

name    :    nginx-hui

namespace    :    default

selfLink    :    /api/v1/namespaces/default/replicationcontrollers/nginx-hui

uid    :    80f386f8-c206-11e7-859d-000c29e983de

resourceVersion    :    55282

generation    :    1

creationTimestamp    :    2017-11-05T08:51:24Z

    labels        {1}

app    :    nginx-hui

    spec        {3}

replicas    :    2

    selector        {1}

app    :    nginx-hui

    template        {2}

    metadata        {3}

name    :    nginx-hui

creationTimestamp    :    null

    labels        {1}

app    :    nginx-hui

    spec        {5}

    containers        [1]

    0        {6}

name    :    nginx-hui

image    :    192.168.179.133:80/nginx

    resources        {0}
    (empty object)

terminationMessagePath    :    /dev/termination-log

imagePullPolicy    :    Always

    securityContext        {1}

privileged    :    false

restartPolicy    :    Always

terminationGracePeriodSeconds    :    30

dnsPolicy    :    ClusterFirst

    securityContext        {0}
    (empty object)

    status        {5}

replicas    :    2

fullyLabeledReplicas    :    2

readyReplicas    :    2

availableReplicas    :    2

observedGeneration    :    1

2.创建svc

Service        {5}

kind    :    Service

apiVersion    :    v1

    metadata        {7}

name    :    nginx-hui

namespace    :    default

selfLink    :    /api/v1/namespaces/default/services/nginx-hui

uid    :    80fe1ae1-c206-11e7-859d-000c29e983de

resourceVersion    :    55241

creationTimestamp    :    2017-11-05T08:51:24Z

    labels        {1}

app    :    nginx-hui

    spec        {5}

    ports        [1]

    0        {4}

name    :    tcp-81-80-8yb4e

protocol    :    TCP

port    :    81

targetPort    :    80

    selector        {1}

app    :    nginx-hui

clusterIP    :    10.254.239.9

type    :    ClusterIP

sessionAffinity    :    None

    status        {1}

    loadBalancer        {0}
    (empty object)

实际是在 服务器上  master上 创建2个yaml文件

rc.yaml  和svc.yaml

然后用

kubectl create -f xx.yaml分别创建 rc和service

方案三:下面是采用命令方式创建:(未成功)

2. 在Master节点上使用kubectl命令来启动一个运行着nginx服务器的容器:

kubectl run my-nginx --image=192.168.179.133:80/nginx --replicas=2 --port=80

注:

以上命令会让节点上的Docker从nginx这个image上启动一个容器监听80端口,此为一个pod。

而replicas=2则表示会起两个一模一样的pod。

k8s会确保你的应用是一直运行的,当容器运行失败时,k8s会自动重启容器,当整个节点失败时,会在另外一个健康的节点启动这个容器。

界面查看 是2个pods

3.通过端口将应用连接到Internet上

以下命令将上一步骤中的nginx容器连接到公网中:

kubectl expose rc my-nginx --port=80 --type=LoadBalancer

注:rc即Replication Controller,上一步骤中的命令其实会自动创建一个名为my-nginx的rc来确保pod的数量维持在2个。

实际测试中  没有这个rc  叫my-nginx

使用以下命令来查看rc:

$ kubectl get rc

也可以界面:

来源: https://www.cnblogs.com/hutuchong/p/7787888.html

原文地址:https://www.cnblogs.com/gao88/p/9743887.html

时间: 2024-11-01 10:32:04

kubernetes 创建nginx 容器的相关文章

(六) 创建Nginx容器

获取Nginx镜像 最简单的方法就是通过 docker pull nginx 命令来创建 Nginx容器. $ sudo docker pull nginx 或者: $ sudo docker pull registry.docker-cn.com/library/nginx 其中 registry.docker-cn.com 为国内的官方镜像仓库,速度要好很多. 启动Nginx容器 查看镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREAT

kubernetes 创建tomcat 容器

未试验 kubectl run tomcat-hui --image=tomcat7 --replicas=2 1.创建tomcat.yaml tomcat.yaml apiVersion: extensions/v1beta1kind: DaemonSetmetadata: name: tomcat-dsspec: template: metadata: labels: app: tomcat spec: containers: - name: tomcat image: tomcat:8.0

Docker学习笔记——运行nginx容器

1.通过Docker hub或者私有仓库pull nginx镜像 拉取镜像 docker pull nginx 或者 docker pull registry.abc.com:5000/nginx:zx 创建nginx容器运行项目目录 mkdir -p /opt/nginx cd /opt/nginx mkdir etc logs www etc目录下放置nginx.conf配置文件,logs目录下放置nginx运行日志,www目录下放置主程序 运行nginx容器 docker run -d -

docker安装nginx容器小记

前言: 使用docker安装了nginx容器,很久才成功跑起来,对安装过程做下记录 linux系统:centos7.4 docker安装不阐述,直接记录安装创建nginx容器的过程 1. 拉取nginx的镜像,此处拉取的最新版 docker pull nginx 2. 创建nginx容器之前需要先确认下要挂载的文件,进入到自己想要的放置挂载文件的目录下,此处我的为/usr/fordocker,并进入. 3. 创建容器 docker run -p 80:80 --name nginx -v $PW

Kubernetes创建挂载共享存储的容器

原文链接:https://www.58jb.com/html/135.html 在上一次的Mysql容器中,已经使用过了配置宿主机目录挂载的方式,这样虽然方便但是不够安全:一般都是把数据存储在远程服务器上如:NFS,GlusterFS,ceph等:一般目前主流的还是使用ceph.GlusterFS; 本次实验使用最简单的方式NFS来配置一个通过挂载共享存储的nginx容器: 两台机器: kubernetes:  10.0.10.135  [Centos7.2] nfs: 10.0.10.31  

kubernetes之创建初始化容器

简介 此文讲述在应用容器运行之前如何使用初始化容器. 备注:此文档参考官方文档,并加以自己的理解.如有误导性的内容,请批评指正. 创建一个有初始化容器的Pod 创将一个Pod,该Pod中包含一个应用容器和初始化容器.在应用容器开始之前,初始化容器的初始化任务已经完成.文件名:init-containers.yaml apiVersion: v1 kind: Pod metadata: name: init-demo spec: containers: - name: nginx image: n

创建fastdfs_nginx容器及nginx配置

创建fastdfs_nginx容器及nginx配置 拉取镜像,创建容器 # 拉取镜像 sudo docker pull ubuntu:18.04 # 创建容器,创建容器时必须使用image:tag,标签不可缺少 sudo docker run -itd --network=host --name fastdfs_nginx -v /home/moluo/store_path/:/home/store_path ubuntu:18.04 进入容器,修改源 sudo docker exec -it

DockerFile创建一个nginx容器的全过程

首先,随便建立一个文件夹,比如我先# mkdir sample,然后我在这个sample里建立一个Dockerfile,内容如下: FROM ubuntu:14.04 MAINTAINER Chris Chan "[email protected]" ENV REFRESHED_AT 2016-12-05 RUN apt-get -y update && apt-get install -y nginx RUN mkdir -p /var/www/html/websit

Kubernetes+Docker+Istio 容器云实践

随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求.近年来,互联网.移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的容器云方案也随之进入了大众的视野.开普勒云是一个基于Kubernetes+Docker+Istio的微服务治理解决方案. 一.Microservices 1.1 解决大应用微服务化后的问题 现在各大企业都在谈论微服务,在微服务的大趋势之下技术圈里逢人必谈微服务,及微服务化后的各种解决方案. 1.2 当我们