K8S主机安装docker环境和rancher搭建

Posted blablablabla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S主机安装docker环境和rancher搭建相关的知识,希望对你有一定的参考价值。

实验环境: 利用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


以上是关于K8S主机安装docker环境和rancher搭建的主要内容,如果未能解决你的问题,请参考以下文章

使用Rancher搭建K8S测试环境

一台虚拟机安装rancher2+k8s环境

rancher+docker+k8s搭建容器管理集群

k8s 测试环境搭建(k3s)

使用rancher 搭建docker集群

个人笔记rancher远程调试搭建