kubeadm安装
安装环境(vm6.5下虚拟机3台,centos 7.4):
master:10.20.0.191
Node1:10.20.0.192
Node2:10.20.0.193

1.安装虚拟机,配置网络接口;
2.修改主机名
hostnamectl set-hostname k8s-master
3.安装常用工具

yum install wget -y
yum install net-tools -y
yum install vim -y

4.配置yum源环境(是用阿里云镜像)

docker-ce
/etc/yum.repos.d目录下
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
kubernetes
/etc/yum.repos.d目录下
vim kubenetes.repo
[root@k8s-master yum.repos.d]# cat kubenetes.repo
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1 #开启gpg校验
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1

yum repolist 检测yum源列表
5.gpg校验配置

下载校验文件
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
导入校验文件
rpm --import rpm-package-key.gpg
rpm --import yum-key.gpg
6.关闭firewall,修改内核参数

systemctl disable firewalld
systemctl stop firewalld
vim /etc/sysctl.d/k8s.conf
添加如下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
执行命令生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
禁用节点上的swap
swapoff -a
sysctl -p
vim /ets/fstab #去除该文件中关于swap那行
7.安装docker-ce,kubelet组件

master节点安装
yum install docker-ce kubelet kubeadm kubectl
node节点安装
yum install docker-ce kubelet kubeadm
8.启动docker,kubelet

编辑kubelet的配置文件/etc/sysconfig/kubelet,设置其忽略Swap启用的状态错误,内容如下: KUBELET_EXTRA_ARGS=“—fail-swap-on=false” ,master以及node节点均需设置;
[root@k8s-master yum.repos.d]# cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
google的镜像仓库k8s.grc.io国内无法访问,如有代理服务器,则编辑docker.service文件,添加代理服务器
vim /usr/lib/systemd/system/docker.service
添加如下内容
Environment="HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"
保存退出,从新加载配置文件,重启docker
systemctl daemon-reload
systemctl restart docker
启动docker,kubelet
systemctl enable docker kubelet
systemctl start docker

无代理服务,可以把k8s的软件包下载到本地安装,通过(docker load)命令加载tar包;
9.初始化master节点,node节点
master节点需要pull完成的相关镜像
k8s.gcr.io/kube-proxy v1.13.3 98db19758ad4 2 weeks ago 80.3MB
k8s.gcr.io/kube-apiserver v1.13.3 fe242e556a99 2 weeks ago 181MB
k8s.gcr.io/kube-controller-manager v1.13.3 0482f6400933 2 weeks ago 146MB
k8s.gcr.io/kube-scheduler v1.13.3 3a6f709e97a0 2 weeks ago 79.6MB
k8s.gcr.io/coredns 1.2.6 f59dcacceff4 3 months ago 40MB
k8s.gcr.io/etcd 3.2.24 3cab8e1b9802 5 months ago 220MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 14 months ago 742kB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 2 weeks ago 52.6MB

node节点需要pull完成的相关镜像
k8s.gcr.io/kube-proxy v1.13.3 98db19758ad4 2 weeks ago 80.3MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 14 months ago 742kB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 2 weeks ago 52.6MB

目前默认版本为1.13.3
kubeadm init --help 查看启动参数 默认监听端口6443
kubeadm init --kubernetes-version=v1.13.3 --pod-network-cidr=10.244.0.0/16 service-
cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
启动完成后会显示join命令,记得保存
根据提示完成非root用户配置
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/
chown $(id -u):$(id -g) $HOME/.kube/config
检查启动情况(nodes此时还只有master节点,未安装flannel时候状态不是ready)

[root@k8s-master yum.repos.d]# kubectl get componentstatus
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health": "true"}
[root@k8s-master yum.repos.d]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 137m v1.13.3
k8s-node1 Ready <none> 72m v1.13.3
k8s-node2 Ready <none> 59m v1.13.3
10.安装flannel组件
coredns依赖flannel组件,未安装flannel时候查看coredns的状态为prending

[root@k8s-master yum.repos.d]# kubectl get pods -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-86c58d9df4-697md 1/1 Running 0 141m 10.244.0.2 k8s-master <none> <none>
coredns-86c58d9df4-7ppx6 1/1 Running 0 141m 10.244.0.3 k8s-master <none> <none>
etcd-k8s-master 1/1 Running 0 140m 10.20.0.191 k8s-master <none> <none>
kube-apiserver-k8s-master 1/1 Running 0 140m 10.20.0.191 k8s-master <none> <none>
kube-controller-manager-k8s-master 1/1 Running 0 140m 10.20.0.191 k8s-master <none> <none>
kube-flannel-ds-amd64-jnr54 1/1 Running 0 108m 10.20.0.191 k8s-master <none> <none>
kube-flannel-ds-amd64-n9c74 1/1 Running 0 64m 10.20.0.193 k8s-node2 <none> <none>
kube-flannel-ds-amd64-x7tj8 1/1 Running 0 77m 10.20.0.192 k8s-node1 <none> <none>
kube-proxy-8cvq4 1/1 Running 0 77m 10.20.0.192 k8s-node1 <none> <none>
kube-proxy-kc6bb 1/1 Running 0 64m 10.20.0.193 k8s-node2 <none> <none>
kube-proxy-rcfrt 1/1 Running 0 141m 10.20.0.191 k8s-master <none> <none>
kube-scheduler-k8s-master 1/1 Running 0 141m 10.20.0.191 k8s-master <none> <none>
安装flannel

master节点
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
正常会自动pull flannel镜像,如网络不稳定,可以手动pull
docker pull quay.io/coreos/flannel:v0.11.0-amd64
node节点在加入k8s之后会自动pull flannel镜像,无需额外配置;
11.node节点加入k8s

kubeadm join 10.20.0.191:6443 --token qpibgq.aj47u2bq7l7w898x --discovery-token-ca-cert-hash sha256:868e795381864a9234e2a29f96cd6095831e8775a80a1f2c81319569cb876ff4 --ignore-preflight-errors=Swap
查看状态

[root@k8s-master yum.repos.d]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 144m v1.13.3
k8s-node1 Ready <none> 79m v1.13.3
k8s-node2 Ready <none> 66m v1.13.3

k8s记录-kubeadm安装(二)(转载)的更多相关文章

  1. k8s记录-kubeadm安装(一)(转载)

    配置 kubeadm 概述 安装 kubernetes 主要是安装它的各个镜像,而 kubeadm 已经为我们集成好了运行 kubernetes 所需的基本镜像.但由于国内的网络原因,在搭建环境时,无 ...

  2. k8s记录-ubuntu安装docker

    sudo apt-get purge docker-ce sudo rm -rf /var/lib/dockerdocker-ce:https://download.docker.com/linux/ ...

  3. kubernetes实战(二十五):kubeadm 安装 高可用 k8s v1.13.x

    1.系统环境 使用kubeadm安装高可用k8s v.13.x较为简单,相比以往的版本省去了很多步骤. kubeadm安装高可用k8s v.11 和 v1.12 点我 主机信息 主机名 IP地址 说明 ...

  4. kubeadm安装K8S单master双节点集群

    宿主机:master:172.16.40.97node1:172.16.40.98node2:172.16.40.99 # 一.k8s初始化环境:(三台宿主机) 关闭防火墙和selinux syste ...

  5. 通过 Kubeadm 安装 K8S 与高可用,版本1.13.4

    环境介绍: CentOS: 7.6 Docker: 18.06.1-ce Kubernetes: 1.13.4 Kuberadm: 1.13.4 Kuberlet: 1.13.4 Kuberctl: ...

  6. Kubernetes kubeadm 安装记录

    Kubernetes kubeadm 安装记录 注:比较乱,都是一些预见到的错误 kubernetes yum 源 cat /etc/yum.repos.d/kubernetes.repo [kube ...

  7. Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)

    背景: 由于工作发生了一些变动,很长时间没有写博客了. 概述: 这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别).使用了Centos 7系统. 一.Centos7 ...

  8. k8s内网安装部署(二)

    续上篇 https://www.cnblogs.com/wangql/p/13397034.html 一.kubeadm安装 1.kube-proxy开启ipvs的前置条件 modprobe br_n ...

  9. kubernetes系列03—kubeadm安装部署K8S集群

    本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm ...

随机推荐

  1. Node.js安装,多版本管理以及修改npm下载的镜像源

    注意:在操作之前建议先把整个文章看完,在决定要不要配置!!!!! 1.下载    地址:http://nodejs.cn/download/        根据系统对应版本下载文件 2.安装    下 ...

  2. react 面试指南

    ------------恢复内容开始------------ 什么是声明式编程 声明式编程是一种编程范式,它关注的是你要做什么,而不是如何做.它表达逻辑而不显式地定义步骤.这意味着我们需要根据逻辑的计 ...

  3. 关于bootstrap的双层遮罩问题

    在使用bootstrap的双层遮罩时 遇到这么2个问题 第一个是当关闭遮罩里面层遮罩时滚动条会向左溢出 第二个也是当关闭遮罩里面层遮罩时 在第一层遮罩的内容相当于固定住了 拖动滚动条也只能显示他固定住 ...

  4. loj #2053 莫队

    \(des\) 存在一个长度为 \(n\) 的数字 \(s\), 一个素数 \(P\) \(m\) 次询问一段区间 \([l, r]\) 内的子串构成的数是 \(P\) 的倍数 \(sol\) 对于一 ...

  5. fgets()函数

    声明: char *fgets(char *str,int n,FILE* stream) 参数: str—这是指向一个字符数组的指针,该数组存储了要读取的字符串 n – 这是要读取的最大字符数(包括 ...

  6. Pytest权威教程21-API参考-05-对象(Objects)

    目录 对象(Objects) CallInfo Class Collector Config ExceptionInfo FixtureDef FSCollector Function Item Ma ...

  7. 本地spark报:java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJI)Ljava/io/FileDescriptor;

    我是在运行rdd.saveAsTextFile(fileName)的时候报的错,找了很多说法……最终是跑到hadoop/bin文件夹下删除了hadoop.dll后成功.之前某些说法甚至和这个解决方法自 ...

  8. 怎么用switchhost

    第一步:打开exe, 第二部:在 My hosts 里面直接添加路径 106.75.131.183 npm.kuaizitech.cn 第三部 :打开my hosts 保护好眼睛,早睡早起,多运动,k ...

  9. ES6中的class类的理解

    传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...

  10. mac安装gmpy2

    brew install libmpc brew install mpfr pip install gmpy2