zoukankan      html  css  js  c++  java
  • docker+k8s

    https://www.cnblogs.com/yxh168/p/10898379.html k8s 规范
    https://www.cnblogs.com/harlanzhang/p/10045975.html

    p
    od 是一个服务
    搭建k8s 客户端查询应用服务

    kubectl get pods --namespace=logging
     
    1.创建命名空间Namespace
    2.apiVersion: v1
    kind: Namespace
    metadata:
      name: logging
    3.kubectl create -f kube-logging.yaml
    4. kubectl get ns

    二.创建
    Service
    2.1
    kind: Service apiVersion: v1 metadata: name: elasticsearch namespace: logging labels: app: elasticsearch spec: selector: app: elasticsearch clusterIP: None ports: - port: 9200 name: rest - port: 9300 name: inter-node


    2.2 kubectl create -f elasticsearch-svc.yaml
    2.3 kubectl get services --namespace=logging
     
     
    docker logs -f rancher
     docker ps | grep dashboard
    执行创建    kubectl create -f  pod-demo.yml      2.执行删除  kubectl delete -f  pod-demo.yml
    查看pod中指定容器日志

    kubectl logs pod-demo busybox
    kubectl get pods
    kubectl describe pods pod-demo
    进入pod容器执行命令
    kubectl exec -it pod-demo -c myapp -- /bin/sh
    kubectl get pod -n kube-system -o wide
    netstat -ptln命令查看30001端口是否已经开放。
    kubectl version
    node server.js
    1.创建Dockerfile文件命令 在项目目录下
    FROM node:8.11.2
    WORKDIR app
    COPY . .
    EXPOSE 8081
    ENTRYPOINT [ "node","server.js" ]

    2.docker build -t yinwensheng/kube-node-demo:v1 . 打包镜像 
    docker build -f /path/to/a/Dockerfile .

    3.docker login --username yinwensheng 登录 do
     
    4.docker push yinwensheng/kube-node-demo:v1 上传镜像
     
    5.yaml deployment部署应用程序到k8s
    创建一个名为deployment.yaml的yaml文件

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    name: kube-node
    spec:
    replicas: 2
    template:
    metadata:
    labels:
    app: web
    spec:
    containers:
    - name: kube-node-demo-instance
    image: yinwensheng/kube-node-demo1:v1
    ports:
    - containerPort: 8081

    6.执行 kubectl create -f deployment.yaml 命令
    7.kubectl get pods 查询服务状态 
    8.可以查看具体的Pod信息 :kubectl describe pods/kube-node-59bf664cbf-2qzgd

    9.参考Kubernetes配置secret拉取私有仓库镜像的官方文档后

    kubectl create secret docker-registry myregistrykey 

    --docker-server=https://index.docker.io/v1/
    --docker-username=yinwensheng
    --docker-password=xxxx

    --docker-email=xxxx@qq.com

    10.kubectl get secrets

    这样我们就创建好了secret,然后再将这个secret加到yaml文件中,修改后的deployment.yaml文件如下:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    name: kube-node
    spec:
    replicas: 2
    template:
    metadata:
    labels:
    app: web
    spec:
    containers:
    - name: kube-node-demo-instance
    image: yinwensheng/kube-node-demo1:v1
    ports:
    - containerPort: 8081
    imagePullSecrets:
    - name: myregistrykey

    11.kubectl delete deployments/kube-node

    12.kubectl create -f deployment.yaml

    13.kubectl get pods -o wide

    14.curl 10.244.2.66:8081

    15.kubectl get services /kubectl get svc nginx/

    kubectl get svc nginx
    curl <insert-cluster-ip-here>
     
    可以查看运行着的Pod和服务的列表。
    kubectl get pods
    kubectl get svc
    kubectl cluster-info        #得到集群信息
     
    # 列出命名空间里的所有服务
    $ kubectl get services
    # 列出命名空间里的所有Pod,并提供详细信息
    $ kubectl get pods -o wide
    # 列出所有命名空间里的所有Pod
    $ kubectl get pods --all-namespaces
    # 列出特定的复制控制器
    $ kubectl get rc <rc-name>
    # 列出带有标签env=production的所有pod
    $ kubectl get pods -l env=production
     
    yaml 创建service 向外暴露服务
     

    Service和Pod

     
     

  • 相关阅读:
    简单优化:Zipalign
    Using lists in Android (ListView)
    6410移植RT3070无线模块,WPA加密方式,并开机自动加载
    html表格的动态增加删除
    html 中表格长度固定
    跨域 Iframe 通信解决方案(兼容 IE 系列浏览器。)
    Sass 基础和入门
    javascript 模块化编程 1
    Canvas的方法覆盖和实现新的API
    获取鼠标点击相对于Canva位置的2种方法
  • 原文地址:https://www.cnblogs.com/ywsheng/p/12536985.html
Copyright © 2011-2022 走看看