k8s集群部署

环境:

两台虚拟机,

10.10.20.203 部署docker、etcd、flannel、kube-apiserver、kube-controller-manager、kube-scheduler

10.10.20.206 部署docker、flannel、kubelet、kube-proxy

【etcd】

1、下载curl -L https://github.com/coreos/etcd/releases/download/v2.3.7/etcd-v2.3.7-linux-amd64.tar.gz -o etcd-v2.3.7-linux-amd64.tar.gz
2、将etcd和etcdctl拷贝到/usr/bin下

cp etcd /usr/bin/etcd
cp etcdctl /usr/bin/etcdctl

3、启动命令

etcd --name etcd --data-dir /var/lib/etcd --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
--advertise-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
>> /var/log/etcd.log 2>&1 &

4、检查状态

etcdctl -C http://localhost:4001 cluster-health

输出如下信息,代表正常

member ce2a822cea30bfca is healthy: got healthy result from http://0.0.0.0:2379
cluster is healthy

【k8s部署准备】

1、下载编译好的k8s,文件比较大,1.38G,下载地址如下

https://github.com/kubernetes/kubernetes/releases/download/v1.3.3/kubernetes.tar.gz

2、解压/kubernetes/server/kubernetes-server-linux-amd64.tar.gz,将/kubernetes/server/kubernetes/server/bin目录下的可执行文件拷贝到/usr/bin,使用如下命令

find ./ -perm 755 | xargs -i cp {} /usr/bin

【kube-apiserver】

kube-apiserver --logtostderr=true --v=0 --etcd-servers=http://10.10.20.203:4001 \
--insecure-bind-address=0.0.0.0 --insecure-port=8080 --service-cluster-ip-range=10.254.0.0/16 >> /var/log/kube-apiserver.log 2>&1 &

【kube-controller-manager】

kube-controller-manager --logtostderr=true --v=0 --master=http://10.10.20.203:8080 \
>> /var/log/kube-controller-manager.log 2>&1 &

【kube-scheduler】

kube-scheduler --logtostderr=true --v=0 --master=http://10.10.20.203:8080 \
>> /var/log/kube-scheduler.log 2>&1 &

【kube-proxy】

kube-proxy --logtostderr=true --v=0 --master=http://10.10.20.203:8080 \
>> /var/log/kube-proxy.log 2>&1 &

【kubelet】

kubelet --logtostderr=true --v=0 --address=0.0.0.0 --api-servers=http://10.10.20.203:8080 \
--pod-infra-container-image=index.tenxcloud.com/google_containers/pause-amd64:3.0
>> /var/log/kubelet.log 2>&1 &

【flannel】
1、下载flannel https://github.com/coreos/flannel/releases/download/v0.5.5/flannel-0.5.5-linux-amd64.tar.gz
2、解压
3、将flanneld拷贝到/usr/bin

cp flanneld /usr/bin

4、配置网络(安装flannel的服务器都需要执行),执行了该指令后,会生成/run/flannel/subnet.env文件,启动docker的时候需要使用

etcdctl -C http://10.10.20.203:4001 \
set /coreos.com/network/config ‘{"Network":"10.0.0.0/16"}‘

【docker】

docker的安装就不介绍了,我是通过yum安装的,因为要指定docker使用的网桥等信息,所以通过以下命令行的形式来启动

source /run/flannel/subnet.env
dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \
--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} --insecure-registry 10.10.20.202 >> /var/log/docker.log 2>&1 &

【杀进程】

因为都是通过命令行的方式启动,所以停止的时候就直接杀进程了

#杀docker
ps -ef | grep docker | grep -v grep | awk ‘{print $2}‘ | xargs -i kill -9 {}
#杀etcd
ps -ef | grep etcd | grep -v grep | awk ‘{print $2}‘ | xargs -i kill -9 {}
#杀k8s
ps -ef | grep kube | grep -v grep | awk ‘{print $2}‘ | xargs -i kill -9 {}
#杀flannel
ps -ef | grep flannel | grep -v grep | awk ‘{print $2}‘ | xargs -i kill -9 {}

 

时间: 2024-10-03 02:24:42

k8s集群部署的相关文章

Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE

基于k8s集群部署prometheus监控etcd

目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 本文中涉及到的环境中.prometheus监控和grafana基本环境已部署好.etcd内置了metrics接口供收集数据,在etcd集群任意一台节点上可通过ip:2379/metrics检查是否能正常收集数据. curl -L http://localhost:237

rancher三节点k8s集群部署例子

rancher三节点k8s集群部署例子 待办 https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/ 原文地址:https://www.cnblogs.com/lishikai/p/12310449.html

centos7 k8s集群部署

安装k8s集群前期准备:网络环境:节点 主机名 ipMaster k8s_master 192.168.3.216Node1 k8s_node1 192.168.3.217Node2 k8s_node2 192.168.3.219 centos7版本:[[email protected]_master ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core) 关闭firewalld:systemctl stop firewal

k8s集群部署(node1 ,node2 ,node3)

环境规划: 1.三台节点 2.内存2G 3.CPU 2 4.交换分区必须关闭 5.selinux必须关闭 6.每个节点必须部署docker 7.主机名解析 第一步:每个节点下载docker(步骤在docker第一篇)第二步:每个节点关闭交换分区 # swapoff -a # vim /etc/fstab 注释掉 swap 行 第三步:主机名解析 第四步:上传k8s安装包并安装 # lscri-tools-1.13.0-0.x86_64.rpm kubectl-1.15.2-0.x86_64.rp

kubeadm部署高可用K8S集群(v1.14.0)

一. 集群规划 主机名 IP 角色 主要插件 VIP 172.16.1.10 实现master高可用和负载均衡 k8s-master01 172.16.1.11 master kube-apiserver.kube-controller.kube-scheduler.kubelet.kube-proxy.kube-flannel.etcd k8s-master02 172.16.1.12 master kube-apiserver.kube-controller.kube-scheduler.k

使用Kubeadm创建k8s集群之节点部署(三十一)

前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f

Kubernetes集群部署篇( 一)

K8S集群部署有几种方式:kubeadm.minikube和二进制包.前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包部署,因为自动部署屏蔽了很多细节,使得对各个模块感知很少,非常不利用学习.所以,这篇文章也是使用二进制包部署Kubernetes集群. 一.架构拓扑图 二.环境规划 角色 IP 主机名 组件 Master1 192.168.161.161 master1 etcd1,master1 master2 192.168.161.162 master2 etcd2,m

k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法

问题说明: 一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的. 实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够. 1.一开始运行5000多个容器的时候(也就50个POD),集群部署后,10几分钟就起来了,感觉还不错. 2.增加压力,把50个POD增加到100个POD,感觉也不会很长时间,都等到下班后又过了半个小时,还是没有起来,集群链接缓慢,使用kubect里面的命令,好久都出不来信息,UI界面显示服务器超时. 心想,完