docker+k8s points!!

docker本地构建镜像上传至阿里云仓库脚本

imageName="icwebsocket:v1"
docker build -t ${imageName} .
#获取镜像id
imageID=`docker images -q -f reference=${imageName}`
if [  "${imageID}" ]
then
  echo "镜像号${imageID}"
  if [ "$1" = "login" ]
  then
    docker login -u 江苏铭博信息技术有限公司 -p *密码* registry.cn-shanghai.aliyuncs.com
  fi
  echo "Tag..."
  docker tag ${imageID} registry.cn-shanghai.aliyuncs.com/nmb/${imageName}
  echo "Push..."
  docker push registry.cn-shanghai.aliyuncs.com/nmb/${imageName}
  echo "成功..."
else
  echo "未获取到镜像号"
fi


kube-proxy与service的关系

https://www.cnblogs.com/fuyuteng/p/11598768.html

  • kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络。
  • 在k8s中,提供相同服务的一组pod可以抽象成一个service,通过service提供的统一入口对外提供服务,每个service都有一个虚拟IP地址(VIP)和端口号供客户端访问
  • kube-proxy存在于各个node节点上,主要用于Service功能的实现,具体来说,就是实现集群内的客户端pod访问service,或者是集群外的主机通过NodePort等方式访问service
  • kube-proxy默认使用的是iptables模式,通过各个node节点上的iptables规则来实现service的负载均衡,但是随着service数量的增大,iptables模式由于线性查找匹配、全量更新等特点,其性能会显著下降
  • 从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是采用的hash表,因此当service数量达到一定规模时,hash查表的速度优势就会显现出来,从而提高service的服务性能。
  • kubernetes还提供了一种在node节点上暴露一个端口,从而提供从外部访问service的方式。比如这里使用这样的一个manifest来创建service在这里插入图片描述
  • 实现原理 在这里插入图片描述

批量删除镜像

 docker rmi `docker images -q`

pod
Pod 是一组紧密关联的容器集合,它们共享 PID、IPC、Network 和 UTS namespace,
是 Kubernetes 调度的基本单位。Pod 内的多个容器共享网络和文件系统
在这里插入图片描述
Node
Node 是 Pod 真正运行的主机,可以是物理机,也可以是虚拟机。为了管理 Pod,每个
Node 节点上至少要运行 container runtime(比如 docker 或者 rkt)、 kubelet 和
kube-proxy 服务在这里插入图片描述service
每个 Service 都会自动分配一个 cluster IP(仅在集群内部可访问的虚拟地址)和 DNS
名,其他容器可以通过该地址或 DNS 来访问服务

云原生
在这里插入图片描述

记录一次docker部署swagger ui的坑爹历程

  1. List item这个是dockerfile内容,先是在官方的swagger镜像基础上编辑,然后把json文件拷贝到目录下面,很简单,就两行

  2. 服务器一直出错,先在本地试一下
    在这里插入图片描述
    先根据那个docker file构建一个镜像,swa是镜像名称
    3.在这里插入图片描述
    然后跑镜像 加上端口映射,8000是根据swagger的nginx config [ nginx -t ]查出来的映射端口

  3. List item然后根据容器id 进入到容器里面 发现json文件已经复制到正确目录 /usr/share/nginx/html/ 下面了

  4. docker镜像容器的区别
    容器是环境,镜像是软件,软件必须运行在特定环境中,所以镜像要跑在容器中,也可以说是多个镜像装在一个容器里,就好像我们的好多软件运行在虚拟机环境下,
    docker ps  可以查看运行中的容器,

执行docker run命令最后一个参数是镜像名称,一般来说镜像命名遵循Registry/Repository/Image:tag规则,各部分含义如下

Registry:公司统一的Docker Registry地址。
Repository:镜像仓库,用来管理一类镜像。
Image:具体某镜像的名称。
tag:具体某镜像的标签。

  • 镜像名 registry-vpc.cn-shanghai.aliyuncs.com/nmb/occasecore:v4 带vpv是阿里云kubectl管理的 集群内网的
  • 23260服务器里面的镜像名在这里插入图片描述
    不带vps  在这里插入图片描述
    通过打tag将本地镜像推到了 阿里云kubectl管理的内网 集群
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值