【k8s】在K8S中部署应用

目录

一、安装docker

	 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
	 yum -y install docker-ce-18.06.1.ce-3.el7
	 systemctl enable docker && systemctl start docker
	 docker --version

二、搭建本地私有镜像仓库

创建宿主机存储目录,即放容器镜像的路径

	mkdir -p /opt/data/registry

下载并启动一个registry容器,-v指定镜像文件本地存放路径

	docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry

配置http权限支持

	vim /etc/docker/daemon.json
	{
	"insecure-registries":["192.168.159.201:5000"]
	}

重启docker服务,重启registry服务

	systemctl restart docker
	docker restart private_registry

上传镜像测试

	docker tag centos:7 192.168.159.201:5000/centos7
	docker push 192.168.159.201:5000/centos7
	docker pull 192.168.159.201:5000/centos7
	curl http://192.168.159.201:5000/v2/_catalog

若出现报错http: server gave HTTP response to HTTPS client
vi /usr/lib/systemd/system/docker.service 在ExecStart=/usr/bin/dockerd后添加–insecure-registry 192.168.92.134:5000

重启docker服务

	systemctl daemon-reload
	systemctl restart docker
	docker restart $(docker ps -aq)

三、制作docker镜像

编辑Dockerfile

基本格式
FROM 项目镜像地址
LABLE 标签
RUN 执行操作
ADD 添加文件

制作镜像

docker build -t 192.168.159.201:5000/tomcat-demo -f Dockerfile .
.代表执行相对路径

上传镜像至本地仓库

docker push 192.168.159.201:5000/tomcat-demo

部署到K8S集群

--生成部署yaml文件
kubectl create  deployment tomcat-demo --image=192.168.159.201:5000/tomcat-demo --dry-run -o yaml
--启动pods
kubectl apply -f tomcat-demo.yaml 
--查看pods状态
kubectl get pods
--暴露服务
kubectl expose deployment tomcat-demo --port=80 --target-port=8080 --type=NodePort -o yaml --dry-run > svc.yaml
kubectl apply -f svc.yaml
kubectl get pod,svc

如何在无网络环境下导入镜像

一、在有镜像的docker环境中将镜像导出成归档文件
命令:docker save 镜像名>xxx.tar
举例:docker save ubuntu>ubuntu.tar

二、将镜像归档文件拷贝到网络不通的主机
根据归档文件输出的路径就可以找到归档文件,上面例子中就是输出到当前目录,通过输入pwd命令即可查询当前目录的路径。

三、将镜像归档文件导入到docker环境
命令: docker load<xxx.tar
举例:docker load<ubuntu.tar

四、验证镜像是否成功导入到docker环境中
命令:docker images

上一篇:封装一个promise类


下一篇:ES6常见面试题总结