(k8s)kubernetes容器编排

1、k8s的架构

k8s架构核心组件

其他组件

2、k8s集群的安装

2.1、准备环境(主机IP、主机名、hosts解析)


10.0.0.11    k8s-master
10.0.0.12    k8s-node-1
10.0.0.13    k8s-node-2

2.2、master节点安装etcd


1)安装etcd
yum install etcd -y vim 

2)修改配置文件
 vim  /etc/etcd/etcd.conf 
6行:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" 
21行: ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379" 

3)启动etcd
systemctl start etcd.service 
systemctl enable etcd.service

4)插入key和值并检查
etcdctl set testdir/testkey0 0 
etcdctl get testdir/testkey0

5)检查集群健康状态 
etcdctl -C http://10.0.0.11:2379 cluster-health

2.3、master节点安装kubernetes

yum install kubernetes-master.x86_64 -y

vim /etc/kubernetes/apiserver 
8行: KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"  
11行:KUBE_API_PORT="--port=8080" 
14 KUBELET_PORT="--kubelet-port=10250" 
17行:KUBE_ETCD_SERVERS="--etcd-servers=[http://10.0.0.11:2379](http://10.0.0.11:2379)"  
23行:KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

vim /etc/kubernetes/config  
22行:KUBE_MASTER="--master=[http://10.0.0.11:8080](http://10.0.0.11:8080)"

systemctl enable kube-apiserver.service  
systemctl restart kube-apiserver.service  
systemctl enable kube-controller-manager.service  
systemctl restart kube-controller-manager.service  
systemctl enable kube-scheduler.service  
systemctl restart kube-scheduler.service

2.4、 node节点安装kubernetes


yum install kubernetes-node.x86_64 -y

vim /etc/kubernetes/config 
22行:KUBE_MASTER="--master=[http://10.0.0.11:8080](http://10.0.0.11:8080)"

vim /etc/kubernetes/kubelet  
5行:KUBELET_ADDRESS="--address=0.0.0.0"  
8行:KUBELET_PORT="--port=10250"  
11行:KUBELET_HOSTNAME="--hostname-override=10.0.0.12"  
14行:KUBELET_API_SERVER="--api-servers=[http://10.0.0.11:8080](http://10.0.0.11:8080)"

systemctl enable kubelet.service  
systemctl start kubelet.service  
systemctl enable kube-proxy.service  
systemctl start kube-proxy.service

在10.0.0.11上检查
kubectl get nodes

2.5、所有节点配置flannel网络


yum install flannel -y

sed -i 's#http://127.0.0.1:2379#http://10.0.0.11:2379#g' /etc/sysconfig/flanneld


master节点:  
etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }'
yum install docker -y  
systemctl enable flanneld.service 
systemctl restart flanneld.service 
service docker restart  
systemctl restart kube-apiserver.service  
systemctl restart kube-controller-manager.service  
systemctl restart kube-scheduler.service

node节点:  
systemctl enable flanneld.service 
systemctl restart flanneld.service 
service docker restart  
systemctl restart kubelet.service  
systemctl restart kube-proxy.service


所有节点上传镜像
wget http://192.168.12.201/docker_image/docker_busybox.tar.gz
docker load -i docker_busybox.tar.gz
docker run -it docker_docker.io/busybox:latest
发现主机之间不能ping通,解决方法:
 vim /usr/lib/systemd/system/docker.service
18行添加  ExecStartPost=/usr/sbin/iptables  -P FORWARD ACCEPT
systemctl daemon-reload
systemctl restart docker
启动容器主机之间互相ping验证


2.6、配置master为镜像仓库


#所有节点
vim /etc/sysconfig/docker  
将第四行替换成下面
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=[https://registry.docker-cn.com](https://registry.docker-cn.com) --insecure-registry=10.0.0.11:5000'

systemctl restart docker

#master节点
wget http://192.168.12.201/docker_image/registry.tar.gz
docker load -i registry.tar.gz
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

2.7、node节点操作


 wget http://192.168.12.201/docker_image/pod-infrastructure-latest.tar.gz
 docker load -i pod-infrastructure-latest.tar.gz
 docker tag docker.io/tianyebj/pod-infrastructure 10.0.0.72:5000/pod-infrastructure

vim /etc/kubernetes/kubelet 
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.0.0.72:5000/pod-infrastructure:latest"




3、k8s介绍

3.1、k8s的核心功能


自愈:重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被终止,并且在容器准备好服务之前不会把其向客户端广播

弹性伸缩

服务的自动发现和负载均衡

滚动升级和一键回滚

3.2、k8s的历史


2014年  docker容器编排工具
2015年  发布kubernet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值