亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Jenkins+K8s實現持續集成筆記

虚拟机安装

sudo passwd root 设置root的密码、
sudo apt-get update 更新
apt-get install ssh 安装ssh
vim /etc/ssh/sshd_config 编辑 PermitRootLogin yes
systemctl restart sshd 重启ssh

ssh [email protected] 本机通过ssh链接linux
ufw disable 关闭防火墙

Docker容器

Docker是一种容器技术。(集装箱)

容器是一种轻量级、可以指、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。

开发在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云上运行。

安装和配置:

  • apt-get install -y docker.io(这个是Ubuntu系统)
  • sudo yum install docker-ce docker-ce-cli containerd.io(这个是CentOS系统)
    • systemctl start docker 启动
  • docker-io, docker-engin 是以前早期的版本,docker-ce 是社区版本
  • /etc/docker/daemon.json 配置 { "registry-mittors": ["https://dvwzscc0.mirror.aliyuncs.com"] }
  • docker pull mysql:5.6拉取镜像
    • 配置:docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6,可以在Docker hub上查看

Docker概念:

  • 镜像(image)
  • 容器(container)
  • 仓库(registry):共有和私有,Docker hub为默认仓库
  • 命令:
    • docker build(镜像构建)
      • docker build -t aaa:1.0 .,在当前目录构建一个名为aaa的镜像
      • docker build -t aaa:1.0 -f /root/Dockerfile,手动指定镜像地址
    • docker tag mysql:5.6 myregistry/mymysql:1.0 镜像tag
    • docker push myregistey/mymysql:1.0 会把mysql推送到构建的镜像中
    • docker run(运行) 、
    • docker pull(拉取镜像)、
    • docker images ls(查看镜像)、
    • docker rmi mysql(删除镜像)、
    • docker ps(查询正在运行容器)、docker ps -a(包含退出的)
    • docker exec -it ce5307fc90b6 /bin/bash(进入容器)、exit(退出容器)
    • docker logs -f ce5307fc90b6(查看动态容器日志)
    • docker stop ce5307fc90b6 (停止)
    • docker rmce5307fc90b6 (删除)
    • docker login(仓库登录)
  • Dockerfile记本语法(FROM从哪个镜像来、RUN运行哪些命令、WORKDIR工作目录、CMD/ENTRYPOINT执行脚本、EXPOSE向外暴露的端口号)

K8s(Kubernetes)

基于容器技术的分布式架构领先方案,它是google严格保密十几年的秘密武器-Borg的一个开源版本。

是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

实现容器的自动化复制和部署。随时扩展或收缩容器规模,并提供负载均衡。方便容器升级。提升容器弹性,如果失效就替换它。

K8s测试服务器的集中化、自动化管理。将各种平台的服务器加入集群,按需部署或销毁。持续集成时方便自动部署。

kubectl create -f /root/kube.yaml
kubectl apply -f /root/kube.yaml 客户端将请求发送给API server
kubectl get service --all-namespaces
kubectl delete -f /root/kube.yaml

kubectl get pod --all-namespaces -o wide 获取Pod
kubectl describe pod xxxxx -n kube-system 信息Pod
kubectl delete pod xxxx -n kube-system 删除Pod

持续集成

持续集成(CI)时一种软件开发实践,每次集成都通过自动化的构建(包括编译、打包、部署、自动化测试)来验证。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
6
獲贊與收藏
29

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消