docker |
jenkins-自动化搭建测试环境 >K8s |
基于容器技术的分布式架构领先方案
- 自动化部署
- 大规模可伸缩(自动化复制,失效则替换)
- 应用容器化管理,可以自动升级
- 提供负载均衡
□架构设计
master: 主服务器
node: 用于部署应用的服务器
Pod: 基本操作单元,也是应用运行的载体,整个kubernetes系统都是围绕着Pod展开(部署运行,保证数量,访问pod)
Deployment: 定义了Pod部署的信息(副本数,环境变量)
Service: 定义多个Pod组成一个什么服务(选择pod)
etcd: API server将处理结果存入高可用键值存储系统etcd中
Scheduler: 将未分发的pod绑定到可用的node节点上,存到etcd中
Controller Manager: 根据etcd中的信息,调用node中的kubelet创建pod 并且监控运行状况
□安装要求
K8s是靠主机名识别节点的,主机名不可相同
两台虚拟机:桥接模式(可以连接外网)
都要安装docker
都要安装kubeadm,kubelet和kubectl
都要禁用虚拟内存
Debian / Ubuntu
# Linux swapoff命令用于关闭系统交换区(swap area)。 -a 将/etc/fstab文件中所有设置为swap的设备关闭
swapoff -a
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
□基本命令
检查node是否readykubectl get node
检查所有pod是否正常kubectl get pod --all-namespaces -o wide
在node上执行kubeadm reset
可以断开node,然后重新join
在master上执行kubeadm reset
可以重新init
1.deployment
查看kubectl get deployments --all-namespaces
创建kubectl create -f test.yaml
kubectl apply -f test.yaml
删除kubectl delete -f test.yaml
2.service
查看kubectl get service --all-namespaces
创建servicekubectl create -f test.yml
3.pod
查看kubectl get po --all-namespaces
kubectl get po --all-namespaces -o wide
jenkins-自动化搭建测试环境 > jenkins.io |
下载war / java -jar xxx.war启动
访问:localhost:8080
1.继续安装插件
系统管理->管理插件->可选插件->
rebuilder 每次构建不用重新输入参数
safe restart 安全重启jenkins
2. 系统管理->
2.1 安全配置
configuration global security->授权策略->安全矩阵
2.1 用户管理
新建用户等用户操作