美文网首页
kubernetes 快速使用

kubernetes 快速使用

作者: littlezl | 来源:发表于2017-08-29 11:11 被阅读0次

    最近需要使用kubernetes部署一个服务,因为同事之前已经在服务器上用kubernetes部署过其它的服务,所以环境已经配置好,此文省略kubernetes的安装部分,只记录怎么用kubernetes部署一个docker镜像。

    前提:需要拥有一个部署完毕并且可以正常运行的k8s集群

    步骤1:把镜像推到私有镜像库中

    #登录镜像仓库(< username >镜像库登录账号,<registry.cn-beijing.aliyuncs.com>阿里镜像库地址)
    sudo docker login --username= <username> <registry.cn-beijing.aliyuncs.com>
    >>[sudo]password for root: sudo需要root权限,输入root的密码
    >>Password: 输入镜像库的登录密码
    #根据imageID给某个镜像添加名称:版本
    sudo docker tag < imageID > <registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0>
    #把命名好的镜像推到已经登录的镜像库
    sudo docker push <registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0>
    

    步骤2:编辑配置文件

    demo.yaml
    

    步骤3:把demo.yaml放到master节点服务器上

    scp demo.yaml root@host://root/
    

    步骤4:在master节点上使用kubectl命令来创建一个运行着nginx服务器的容器

    kubectl create -f demo.yaml
    

    kubectl 命令

    #使用yaml文件创建容器
    kubectl create -f demo.yaml
    #查看
    kubectl get rc #查看rc控制器,rc保证始终pod运行
    kubectl get service #查看运行的服务 
    kubectl get po #查看运行的pod
    #删除
    kubectl delete rc <ios-demo> #删除rc控制器,会自动停止控制的pod运行
    kubectl delete service <ios-demo-service> #删除服务
    kubectl <delete po ios-demo-4g67z> #删除pod,但对于有rc控制的pod来说没有意义,因为删除pod后rc会自动重启一个pod,删除rc会自动删除控制的pod
    

    demo.yaml文件

    apiVersion: v1 # for versions before 1.6.0 use extensions/v1beta1
    kind: ReplicationController
    metadata:
      name: ios-demo
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            name: ios-demo
        spec:
          nodeSelector:
            zone: video
          containers:
          - name: ios-demo-containers
            image: registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0
            env:
            - name: LANG
               value: C.UTF-8
            ports:
            - containerPort: 8000
    
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: ios-demo-service
      labels:
        name:ios-demo-service
    spec:
      type: NodePort
      ports:
      - name: djangoport
         protocol: TCP
         port: 8000 #docker监听端口
         targetPort: 8000 #映射到虚拟机的8000端口
         nodePort: 32800 #映射到服务器对外端口32800
      selector:
         name: ios-demo
    

    **注释:<>指代需替换的部分,实际使用时语句不包含该字符

    相关文章

      网友评论

          本文标题:kubernetes 快速使用

          本文链接:https://www.haomeiwen.com/subject/paqodxtx.html