-
使用阿里云镜像安装:
Debian / Ubuntu
apt-get update && apt-get install -y apt-transport-https curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl
查看全部 -
拉取MySQL镜像:
docker pull mysql:5.6
运行mysql镜像:
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
docker的基本使用
版本查看:
docker version
# 镜像拉取 docker pull ImageName # 镜像查询 docker images # 或者 docker image ls # 镜像删除 docker rmi ImageName
# 容器运行、端口映射、挂存储卷 # docker run 即运行容器 # -p 3306:3306 宿主机端口端口:docker容器中端口进行映射 # --name mymysql 容器名称 # -v /home/mysql/data:/var/lib/mysql 宿主机的目录:容器中数据存储目录进行映射 # -e MYSQL_ROOT_PASSWORD=123456 设置root用户名123456,需要哪些环境变量?去dockerhub对应镜像查看对应镜像需要的环境变量 docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6 # 进入容器 docker -it ContainerID /bin/bash # 查看容器日志 docker logs -f ContainerID # 查询容器 # 查询正在运行的容器 docker ps # 查询所有容器 docker ps -a # 容器停止 docker stop ContainerID # 容器删除 docker rm -f ContainerID
# 仓库登录 $ sudo docker login --username=username registry.cn-hangzhou.aliyuncs.com
# 镜像构建、镜像打tag、镜像推送
查看全部 -
Jenkins 是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
查看全部 -
1、K8s能做什么?
容器的自动化复制和部署。随时扩展或收缩容器规模,并提供负载均衡。
方便地容器升级
提供容器弹性,如果失效就替换它
2、K8s对于测试能做什么?
测试服务器的集中化、自动化管理。将各种平台的服务器加入集群,按需部署或销毁
持续集成是方便地自动部署
3、K8s架构
4、K8s基本概念
Master是主服务器,node是用于部署应用容器的服务器
Pod基本操作单元,也是应用运行的载体。整个kubernetes系统都是围绕着Pod展开的,比如如何部署运行Pod、如何保证Pod的数量、如何访问Pod等。
Deployment定义了pod部署的信息。
若干个pod副本组成一个service,对外提供服务
副本是指一个pod的多个实例
Namespace 用于多租户的资源隔离。在测试环境中可以根据namespace划分成多套测试环境。默认有2个namespace;kube-system/default
5、K8s调度过程
kubernetes client将请求发送给API server
API Server根据请求的类型,将处理的结果存入高可用键值存储系统Etcd中
Schedule将未分发的Pod绑定(bind)到可用的Node节点上,存到etcd中
Controller Manager根据etcd中的信息,调用Node中的kubelet创建pod
Controller Manager监控pod的运行状况并确保运行正常
查看全部 -
安装网络插件:
1、sysctl net.bridge.bridge-nf-call-iptables=1
2、curl -O https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
(注:第2条命令执行前貌似需要先登录GitHub)
3、kube-flannel.yml文件新加内容
- key: node.kubernetes.io/not-ready
operator: Exists
effect: NoSchedule
查看全部 -
查看版本:docker : version
删除:docker rmi 删除的数据
镜像查询;docker image ls
镜像的下载;docker pull 需要下载的镜像
运行或挂载:docker run -p
进入容器:docker exec -it 容器的ID /bin/bash
查看全部 -
apt-get update
apt-get install -y docker.io
阿里云加速器配置(https://cr.console.aliyun.com/)
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
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
镜像[image]、容器【container】、仓库【registry】
仓库分公有和私有的两种。Docker hub是默认的仓库【https://hub.docker.com/search?q=mysql&type=image】。
版本查看:docker version
镜像拉取: docker pull image-name
镜像查看:docker images docker image ls
镜像删除
docker pull nginx
docker images
docker rmi nginx
容器运行、端口映射、挂存储卷
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.
# docker run 即运行容器 # -p 3306:3306 宿主机端口端口:docker容器中端口进行映射 # --name mymysql 容器名称 # -v /home/mysql/data:/var/lib/mysql 宿主机的目录:容器中数据存储目录进行映射 # -e MYSQL_ROOT_PASSWORD=123456 设置root用户名123456,需要哪些环境变量?去dockerhub
进入容器: docker exec -it container-id /bin/bash
查看容器日志 :
进入容器后,查看日志
docker logs -f container-id
查询容器 : 正在运行的容器 docker ps
所有的容器 docker ps -a
设置环境变量
容器停止: docker stop container-id
容器删除: docker rm container-id
仓库登录:https://cr.console.aliyun.com/cn-hangzhou/instance/credentials
sudo docker login --username=叶2019dec registry.cn-hangzhou.aliyuncs.com
19. 镜像的构建:
docker build -t aaa:1.0 .
docker build -t aaa:1.0 -f /root/Dockerfile
20. 镜像打tag
21. 镜像推送:
查看全部 -
docker version
docker serarch nginx
docker pull/push nginx:1.18
docker ps
docker ps -a
docker ps -qa
docker image ls \docker images
docker run --name nginx-name -p 80:80 -v /data/nginx:/usr/share/nginx/html --link mysql:mysql --rm -e VERSION=1.18 -d nginx:1.18
docker logs -f nginx-name
docker exec -it nginx-name\docker-id /bin/bash
docker stop nginx-name
docker start/restart nginx-name
docker login
docker build -t nginx:v1 -f Dockerfile-nginx .
docker tag nginx:v1 nginx:v2
docker inspect nginx-name
docker commit nginx-name nginx:v3
docker network ls
docker network create net-name
docker network rm net-name
docker run --name w1 --net net-name -d nginx:1.18
docker cp ./file nginx-name:/file
查看全部 -
1、K8s基本使用-Deployment创建、删除
Kubectl create -f test.yaml
Kubectl delete -f test.yaml
2、K8s基本使用-Pod查看、删除
Kubectl get pod --all-namespaces -o wide
Kubectl describe pod xxxxx -n kube-system
kubectl delete pod xxxx -n kube-system
查看全部 -
许多服务,用一个命令让所有微服务都跑起来
查看全部 -
老师,有课件文档吗?
查看全部 -
Registry安装配置
1、docker pull registry
2、docker run -p 5000:5000 -v /home/registry_images::var/lib/registry -d registry
查看全部 -
持续集成过程
1、提交代码
2、人工/定时触发
3、自动构建
4、自动部署
5、构建成功
6、获取构建环境信息
7、邮件通知
8、自动化测试
9、构建失败
10、邮件通知
查看全部 -
查看全部
-
初始化第4步:
1、mkdir -p $HOME/.kube
2、cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3、chown $(id -u):$(id -g) $HOME/.kube/config
查看全部
举报