每天打卡5分钟,学习k8s第三章 集群部署

元龙
• 阅读 1108

今天我们来到了最好玩的环节,就是部署我们的k8s cluster集群服务。一般的集群环境无3不成群,所以一般的最少单元我们都需要3台服务器,比如下图所示。

每天打卡5分钟,学习k8s第三章 集群部署

k8s-master是Master,k8s-node1和k8s-node2是node节点,也可以认为slave节点。

在国内使用最多的系统是centos,为了方便使用ubuntu是的,因为apt的软件库是真的很强大。

我们安装可以参考https://kubernetes.io/docs/setup/independent/install-kubeadm

注意的是,k8s的所有组件和docker镜像都放在Google自己的网站,也就被墙掉了,不过好在阿里是国内最好服务平台支持者,也是国内软件的贡献者,因为他搞阿里云服务全球第三,这些源也是提供的。需要我们自己修改

一般的企业也不会自己搭建k8s,都是买阿里云或者rander的,这里的话大概了解一下就好了

安装Dokcer 所有的节点都需要安装Docker

apt-get update && apt-get install docker.io

安装kubelet,kubeadm和kubectl

所有节点都要安装

  1. kubelet 运行cluster所有节点上,负责启动pod和容器
  2. kubeadm:用于初始化cluster
  3. kubectl:就是命令行控制台咯,对资源和容器进行CRUD
#使用root用户操作
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

初始化Master

kubeadm init -apiserver-advertise-address 192.168.65.120 --pod-netword-cidr=10.244.0.0/16

-apiserver-advertise-address 值得是用那个Master的那个interface与Cluster的其他节点通信。

--pod-netword-cidr 是Pod的网络范围

看到这一串内容说明创建成功,并copy操作mkidr那一部分内容。然后看到那个join的东西嘛?那个是在节点主机操作的。

每天打卡5分钟,学习k8s第三章 集群部署

k8s在初始化的时候做了一些的操作

  1. k8s 执行前检查
  2. 生成token和证书
  3. 生成KubeConfig文件,kubelet需要这个文件与Master通信
  4. 安装Master组件,会从Googel的Registry下载Docker镜像
  5. 安装kube-proxy和kube-dns
  6. k8s初始完成
  7. 提示配置kubectl
  8. 提示如何安装Pod网络
    9。 提示如何注册其他节点到Cluster

配置Kubectl

## 其实就是刚刚执行成功后的那串东西
su - ubuntu
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.config $HOME/.kube/config
sudo shown $(id -u):$(id -g) $HOME/.kube/config

安装Pod 网络

要集群能工作必须安装这个,要不Pod无法进行通信,有很多网络方案,这里用到的是flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

然后我们就可以添加node1和node2的节点,拷贝刚刚init成功后的命令

kubeadm join --token d38a01.1361dsdsfdfg980 192.168.65.120:6443

我们可以通过 kubectl get nodes 来查看节点

每天打卡5分钟,学习k8s第三章 集群部署

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Minikube之Win10单机部署
Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作。如果你曾经用过Docker部署容器,那么可以将Docker看成Kubernetes底层使用的组件,Kubernetes是Docker的上层封装,通过它可以很方便的进行Docker集群的管理。今天我们使用minikube在单机上进行Kubern
Stella981 Stella981
3年前
Redis Cluster高可用集群在线迁移操作记录【转】
之前介绍了rediscluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移。由于之前的rediscluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上。考虑到是线上生产环境,决定在线迁移,迁移过程,不中断服务。操作过程如下:一、机器环境123456789101
Stella981 Stella981
3年前
MongoDb分片集群认证
本文主要基于已经搭建好的未认证集群,结合上篇Mongodb副本集分片集群模式环境部署(https://www.cnblogs.com/woxingwoxue/p/9875878.html),MongoDb分片集群认证几个主要流程1.在分片集群环境中,副本集内成员之间需要用keyFile认证,mongos与配置服务器,副本集之间也要keyFi
Stella981 Stella981
3年前
K8s
kubernetes(简称 K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。在之前的文章中,我介绍如何通过 Docker 为我们提供的实验网站 PlaywithKubernetes(PWK)来搭建 Kubernetes 集群(点击查看)。    但如果每次学习时都需要重新搭建一个 K8s 集群还是很麻烦。好在 Kubernetes 
Stella981 Stella981
3年前
Kubernetes集群部署关键知识总结
  Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备的就尽量下载好。Kubernetes集群部署要求服务器必须是Centos7.2及以上Kuber
Stella981 Stella981
3年前
Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群
目标是方便快捷地部署一个比较稳定的k8s集群前言前面用到过的minikube只是一个单节点的k8s集群,这对于学习而言是不够的。我们需要有一个多节点集群,才能用到各种调度/监控功能。而且单节点只能是一个加引号的“集群”。kubernetes安装方式面面观kubernetes是一个
Stella981 Stella981
3年前
Flink从入门到真香(Flink环境部署
FlinkStandalone模式部署集群是最简单的一种部署方式,不依赖于其他的组件,另外还支持YARN/Mesos/K8S等模式下的部署Standalone执行架构图:!Flink从入门到真香(Flink环境部署集群standalone模式)(https://s4.51cto.com/images/blog/202011/05/8073eb
Stella981 Stella981
3年前
Kubernetes 两步验证
作者:CODING王炜1\.背景如果对Kubernetes集群安全特别关注,那么我们可能想要实现这些需求:如何实现Kubernetes集群的两步验证,除了集群凭据,还需要提供一次性的Token校验?如何验证部署的镜像是否安全合规,使得仅允许部署公司内部镜像仓库的Docker镜像?
Stella981 Stella981
3年前
Raft分布式一致性算法原理(选举和同步)
Raft分布式一致性算法原理(选举和同步)一.背景在集群环境下,很容易出现单节点故障的问题,那么我们就需要进行集群部署,但是当集群部署的环境下,我们如何保证工作有序的调度与通信并且保证一致性呢,当客户端发送一连串指令,我们需要在集群环境下,所有服务机器最终要保证一致性,而且在出现一系列异常并且恢复
DevOpSec DevOpSec
2年前
自建k8s集群之负载均衡使用
自建k8s而非云环境,组件mysql类(部分有状态服务)部署在虚机里也即集群外,业务服务部署在k8s集群内。需求:集群内、集群外,业务服务和组件相互间通过负载均衡、高可用的形式连通。此需求拆解成两个问题进行解决,接着往下看。集群内:k8s集群集群外:k8s集群外的应用部署在虚拟机或物理机环境