\=== |
docker |
其他文章已介绍
文章连接1
文章连接2
服务编排框架 >K8s |
其他服务编排:Apache Mesos,Docker Swarm ,Google Kubernetes
Borg,它是Google内部使用的一个超大规模集群管理系统,它基于容器技术,目的是实现资源管理自动化
Kubernetes(简称K8s)可理解为Borg的一个开源版本
Kubernetes是一个开放的开发平台,无论是Go、Java或Python编写的服务,都可以轻松映射为Kubernetes的Service,并通过标准的TCP通信协议进行交互,因此现有系统可以非常容易的迁移到Kubernetes平台上。
node: 用于部署应用的服务器
Pod: 基本操作单元,也是一组容器(container)和卷(volume)的载体,整个kubernetes系统都是围绕着Pod展开(部署运行,保证数量,访问pod)
每个pod被分配一个独立的IP地址,pod中的每个容器共享网络命名空间,包括IP地址和网络端口。pod内的容器可以使用localhost相互通信。
CNI
Flannel,Calico,Weave
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
查看kubectl get deployment --all-namespaces
删除kubectl delete deployment namexxx
获取deployment描述信息
kubectl describe deploy xxxx
扩容4
kubectl scale deploy deploy_name --replicas=4
创建运行
kubectl run xx --image -port
更新镜像
kubectl set image deploy deploy名 容器名=新镜像:版本
查看结果
kubectl rollout status deploy deploy名
回滚操作
kubectl rollout undo deploy deploy名
查看kubectl get service --all-namespaces
创建servicekubectl create -f test.yml
查看全部namespace的pod kubectl get po --all-namespaces
kubectl get po --all-namespaces -o wide
查看某个namespace下的pod kubectl --namespace kube-system get po
kubectl describe pod xxxx
复制文件 kubectlsqc cp smartlink-sqc-wordle-5d4548d948-q4m6x:usr/local/wordle-py/data/cdr_data-3004870-3004870-20190701-30.csv /tmp
查看日志
kubectl --namespace clink2 logs clink2-realtime-p244h
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
创建kubectl create -f nginx-pod.yaml
创建pod不会创建deploy
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2 # 副本
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
创建kubectl create -f nginx-deployment.yaml
kubectl apply -f test.yaml
删除kubectl delete -f test.yaml
jenkins-自动化搭建测试环境 > jenkins.io |
http://www.ityouknow.com/springboot/2017/11/11/spring-boot-jenkins.html
下载war / java -jar xxx.war启动
访问:localhost:8080
系统管理->管理插件->可选插件->
rebuilder 每次构建不用重新输入参数
safe restart 安全重启jenkins
configuration global security->授权策略->安全矩阵
新建用户等用户操作