标签:meta 注册 sea 图片说明 test linu ring 14. col
实验环境: 利用rancher搭建kubernetes集群,及搭建和关联harbor私有镜像库。
rancher:http://10.10.10.10:8888
kubernetes:10.10.10.10
harbor:10.10.10.100
images:10.10.10.100/test_nginx:latest
app:nginx
实验目的:
一.实践docker:search pull、run、tag、build、push功能。了解参数含义
#docker search *imagesname
#docker pull *imagesname
#docker run -i/-t/-d -p 发布端口:容器端口 --name 容器名 *imagesname:version /bin/bash
#docker tag *oldimagesname *newimagesname or 私用仓库地址/project::version (注释仓库地址方便后面push)
#docker build -d 容器名 *imagesname:version (-d container保持后台允许状态)
#docker push 私有仓库地址/project::version (先注册上/usr/lib/systemd/system/docker.service 为ExecStart=/usr/bin/dockerd --insecure-registry=10.10.10.100, 再docker login 10.10.10.100 )
#docker ps -a(all) /-l(最后任务) /-q(简短信息)
二.通过Dockerfile 构建镜像,测试结果。关联私有镜像库,推送镜像文件。
touch Dockerfile
——————————————————————————————————————————————————————————————————————————————————————————————————————
FROM centos:latest
MAINTAINER lvy
ADD http://nginx.org/download/nginx-1.14.0.tar.gz .
RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel
RUN useradd -M -s /sbin/nologin nginx
RUN tar -zxvf nginx-1.14.0.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.14.0 && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/bin/
#EXPOSE 映射端口
EXPOSE 80 8080
#CMD 运行以下命令
CMD ["nginx", "-g", "daemon off;"]
——————————————————————————————————————————————————————————————————————————————————————————————————————
生成自定义镜像
执行:docker build -t imagesname:version . (.代表Dockerfile 的相对路径)
测试 container 服务
#docker run -p 发布端口:容器端口 --name 容器名 *imagesname:version
将新镜像推送到私有仓库
1.docker 注册私有仓库 添加/usr/lib/systemd/system/docker.service文件下
ExecStart=/usr/bin/dockerd --insecure-registry=10.10.10.100
2.docker登录私用仓库 (搭建harbor已新建用户名和密码)
#docker login 10.10.10.100
3.tag目标镜像文件
#docker tag *oldimagesname 私用仓库地址/project::version
4.推送目标文件
1. #docker push 私有仓库地址/project::version
三.启用kubectl cli界面
#mkdir .kube
#touch .kube/config
#vim .kube/config
添加kubernetes 命令行配置脚本。
执行脚本:
#curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl && cp kubectl /usr/local/bin
over! 使用kubectl get namespace
显示输出,测试命令启用成功。
四.在kubernetes集群使用kubectl 命令生成container,运行app
生成nginx_deployment.ymal和nginx_service.yaml文件
nginx_deployment.ymal ——————————————————————————————————————————————————————————————————————————————————————————————————————
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: nginx
spec:
replicas: 1
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: 10.10.10.100/test/nginx:latest
ports:
- containerPort: 80
protocol: TCP
——————————————————————————————————————————————————————————————————————————————————————————————————————
nginx_service.yaml
——————————————————————————————————————————————————————————————————————————————————————————————————————
kind: Service
apiVersion: v1
metadata:
name: nginx
labels:
name: nginx
spec:
type: NodePort
ports:
- protocol: TCP
nodePort: 31001
targetPort: 80
port: 80
selector:
name: nginx
——————————————————————————————————————————————————————————————————————————————————————————————————————
运行create 命令生成pod和svc
#kubectl create -f nginx_deployment.ymal
#kubectl create -f nginx_service.yaml
测试app服务OK
curl:10.10.10.10:31001
#kubectl get pods
确认pod的创建结果
#kubectl get pods -o wide
确认pod所在的node
标签:meta 注册 sea 图片说明 test linu ring 14. col
原文地址:https://www.cnblogs.com/blablablabla/p/9646228.html