美文网首页工作生活
【Jenkins+K8s实现持续集成】

【Jenkins+K8s实现持续集成】

作者: Y了个J | 来源:发表于2019-07-03 23:23 被阅读0次

    Docker的安装与配置

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
    社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

    社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

    一、安装docker
    1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
    通过 uname -r 命令查看你当前的内核版本

    $ uname -r
    

    2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

    $ sudo yum update
    

    3、卸载旧版本(如果安装过旧版本的话)

    $ sudo yum remove docker docker-common docker-selinux docker-engine
    

    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    

    5、设置yum源

    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    6、可以查看所有仓库中所有docker版本,并选择特定版本安装

    $ yum list docker-ce --showduplicates | sort -r
    

    7、安装docker

    $ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    $ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce
    

    8、启动并加入开机启动

    $ sudo systemctl start docker
    $ sudo systemctl enable docker
    

    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    $ docker version
    

    配置镜像加速

    针对Docker客户端版本大于 1.10.0 的用户
    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://....."]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Docker的基本使用

    docker version
    docker container ls -a
    docker container rm <容器id>
    docker ps #查看容器id
    docker ps -a #查看包含退出的容器id
    docker exec -it <容器id> /bin/bash  #进入容器
    docker logs -f <容器id> #查看日志
    docker images
    docker image ls
    docker pull nginx
    docker rmi nginx (删除镜像)
    
    docker pull mysql  (默认拉取最新的镜像)
    mkdir -p /usr/local/mysqlData/test/data
    mkdir -p /usr/local/mysqlData/test/conf
    chmod 777 /usr/local/mysqlData/test
    
    docker run -p 3306:3306 --name test_mysql -v /usr/local/mysqlData/test/data:/var/lib/mysql -v /usr/local/mysqlData/test/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    

    Kubernetes 环境搭建 - MacOS

    使用清华的 brew 镜像源
    
    cd "$(brew --repo)"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
    
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
    
    brew update
    

    相关软件安装
    kubectl
    docker (for Mac)
    minikube
    virtualbox

    brew update && brew install kubectl && brew cask install docker minikube virtualbox
    

    校验软件版本信息

    docker --version                # Docker version 18.03.1-ce, build 9ee9f40
    docker-compose --version        # docker-compose version 1.21.1, build 5a3f1a3
    docker-machine --version        # docker-machine version 0.14.0, build 89b8332
    minikube version                # minikube version: v0.26.1
    kubectl version --client        # Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-13T22:28:25Z", GoVersion:"go1.9.5", Compiler:"gc", Platform:"darwin/amd64"}
    

    启动 kubernetes 集群

    minikube start --bootstrapper=localkube
    

    一会后,会有如下输出

    Starting local Kubernetes v1.10.0 cluster...
    Starting VM...
    Downloading Minikube ISO
     150.53 MB / 150.53 MB [============================================] 100.00% 0s
    Getting VM IP address...
    WARNING: The localkube bootstrapper is now deprecated and support for it
    will be removed in a future release. Please consider switching to the kubeadm bootstrapper, which
    is intended to replace the localkube bootstrapper. To disable this message, run
    [minikube config set ShowBootstrapperDeprecationNotification false]
    Moving files into cluster...
    Downloading localkube binary
     173.54 MB / 173.54 MB [============================================] 100.00% 0s
     0 B / 65 B [----------------------------------------------------------]   0.00%
     65 B / 65 B [======================================================] 100.00% 0sSetting up certs...
    Connecting to cluster...
    Setting up kubeconfig...
    Starting cluster components...
    Kubectl is now configured to use the cluster.
    Loading cached images from config file.
    

    恭喜!Minikube 为你启动了一个虚拟机,并在该虚拟机中运行了 Kubernetes 集群。

    查看集群节点信息

    ➜  ~ kubectl get nodes
    NAME       STATUS    ROLES     AGE       VERSION
    minikube   Ready     <none>    15m       v1.10.0
    

    常见问题及解决办法
    kubectl 安装失败

    ➜ brew install kubectl
    Updating Homebrew...
    ==> Auto-updated Homebrew!
    Updated 2 taps (caskroom/cask, homebrew/core).
    ==> Updated Formulae
    pandoc-citeproc                                                   php                                                               php@7.0
    
    Error: Failed to link all completions, docs and manpages:
      Permission denied @ rb_file_s_symlink - (../../../Homebrew/completions/zsh/_brew, /usr/local/share/zsh/site-functions/_brew)
    Warning: kubernetes-cli 1.10.1 is already installed, it's just not linked
    You can use `brew link kubernetes-cli` to link this version.
    

    解决办法

    sudo chown -R $(whoami) /usr/local/share/
    brew link kubernetes-cli
    

    https://www.runoob.com/docker/docker-install-mysql.html
    https://blog.csdn.net/xsj34567/article/details/80940238

    相关文章

      网友评论

        本文标题:【Jenkins+K8s实现持续集成】

        本文链接:https://www.haomeiwen.com/subject/arbhhctx.html