1.环境准备

# 统一hosts
cat /etc/hosts
10.0.0.10 k8s-master
10.0.0.20 k8s-node1
10.0.0.30 k8s-node2
# 同步时间
ntpdate ntp1.aliyun.com
# 禁用SELINUX,关闭firewalld和iptables.service,k8s会自己设置iptables网络策略
systemctl stop iptables.service
systemctl disable iptables.service
systemctl stop firewalld.service
systemctl disable firewalld.service
# 关闭swap,修改/etc/fstab文件,注释掉SWAP的自动挂载,使用free -m确认swap已经关闭
swapoff -a
# 调整swappiness参数
# 创建/etc/sysctl.d/k8s.conf文件,添加如下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
# 生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
# 开启ipvs
yum -y install ipvsadm
vim /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
ipvs_mods_dir="/usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs"
for i in $(ls $ipvs_mods_dir | grep -o "^[^.]*");do
/sbin/modinfo -F filename $i &> /dev/null
if [ $? -eq 0 ];then
/sbin/modprobe $i
fi
done
chmod +x /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules
lsmod | grep ip_vs

2.安装

# 安装 Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce-18.06.1.ce-3.el7 -y
# 翻墙代理不管用了,注释掉
vim /usr/lib/systemd/system/docker.service
#Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.1/8,127.0.0.1/16"
systemctl daemon-reload
systemctl start docker
systemctl enable docker cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
# 给两个node分发文件
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub 10.0.0.20
ssh-copy-id -i ~/.ssh/id_dsa.pub 10.0.0.30
for i in 20 30; do scp /etc/yum.repos.d/{docker-ce.repo,kubernetes.repo} 10.0.0.$i:/etc/yum.repos.d/;done
# 如果用下面这条命令,就会下载最新版本,这里我们用1.13
# yum install -y kubelet kubeadm kubectl
yum -y install kubelet-1.13.0 kubeadm-1.13.0 kubernetes-cni-0.6.0 kubectl-1.13.0
# 设置为开机自启,先不要启动该服务.等初始化完成了再启动
systemctl enable kubelet
# 将镜像先下载到本地
cat pull-images.sh
#!/bin/bash
images=(kube-apiserver:v1.13.0 kube-controller-manager:v1.13.0 kube-scheduler:v1.13.0 kube-proxy:v1.13.0 pause:3.1 etcd:3.2.24 coredns:1.2.6) for ima in ${images[@]}
do
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima k8s.gcr.io/$ima
docker rmi -f registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
done chmod +x pull-images.sh && ./pull-images.sh
# 集群初始化
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
kubeadm init --kubernetes-version=v1.13.0 --pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
...
kubeadm join 10.0.0.10:6443 --token 05blrg.37hx6cwa85giuj5c --discovery-token-ca-cert-hash \
sha256:0a1635e9f31e78317524545faa3dd5957665f8b871b168a605ef523dacbea7bb
# 初始化中输出的kubeadm join 10.0.0.10:6443这句话,保存好,以后要使用这个命令把node加入集群,并且该命令无法复现
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# 安装flannel网络组件(master上执行)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

初始化k8s集群

3.查看信息

# 查看状态信息
kubectl get cs
# 查看节点信息,状态为NotReady,是因为还缺flannel组件,没有这个组件无法设置网络
kubectl get nodes
# 查看当前master节点上kube-system名称空间里运行的所有pod状态
kubectl get pods -n kube-system
# 所有pod必须保证都是running状态的,如果哪个不是,可以通过类似如下命令查看原因
kubectl dscrible pods coredns-86c58d9df4-qz9xc -n kube-system
# 查看当前节点名称空间
kubectl get ns
# 查看pod详细状态
kubectl get pods -n kube-system -o wide
kubectl get pods --all-namespaces -o wide

4.node上执行

# nodes上可以不安装kubectl
yum -y install kubelet-1.13.0 kubeadm-1.13.0 kubernetes-cni-0.6.0
systemctl enable kubelet
cat pull-images.sh
#!/bin/bash
images=(pause:3.1 kube-proxy:v1.13.0)
for ima in ${images[@]}
do
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima k8s.gcr.io/$ima
docker rmi -f registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/$ima
done chmod +x pull-images.sh && ./pull-images.sh
docker pull quay.io/coreos/flannel:v0.11.0-amd64
# 执行kubeadm join
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
kubeadm join 10.0.0.10:6443 --token 05blrg.37hx6cwa85giuj5c --discovery-token-ca-cert-hash \
sha256:0a1635e9f31e78317524545faa3dd5957665f8b871b168a605ef523dacbea7bb \
--ignore-preflight-errors=Swap

也可以从这里下载镜像registry.cn-hangzhou.aliyuncs.com/google_containers

node节点上需要的三个镜像

两个节点加入master

参考博客:https://www.jianshu.com/p/427162394424

参考博客:http://blog.itpub.net/28916011/viewspace-2213536/

安装部署k8s-版本-1.13的更多相关文章

  1. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

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

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

  3. 使用kubeoperator安装的k8s 版本1.20.14 将节点上的容器运行时从 Docker Engine 改为 containerd

    官方文档:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/change-runt ...

  4. Ubuntu-通过v2版本的rancher安装部署k8s

    环境: ubuntu:16.04+(64位) CPU:2C MEM:>4G docker:17.03.2 1.13.1 1.12.6 基础配置:(若是云服务器,下列只需要放行端口) >&g ...

  5. kubeadm部署k8s

      Kubernetes技术已经成为了原生云技术的事实标准,它是目前基础软件领域最为热门的分布式调度和管理平台.于是,Kubernetes也几乎成了时下开发工程师和运维工程师必备的技能之一. 官方文档 ...

  6. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  7. 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

    unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编    制: WangYong 版权所有 内部资料注意保密 ...

  8. Zstack的安装部署

    ZStack是下一代开源的云计算IaaS(基础架构即服务)软件. 它主要面向的是未来的智能数据中心,通过提供全完善的API来管理包括计算.存储和网络在内的数据中心的各种资源.跟OpenStack相比, ...

  9. 通过 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: ...

随机推荐

  1. 【mac】【nginx】开机重启

    homebrew.mxcl.nginx.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...

  2. 创建 Django 步骤

    1.创建项目 django-admin startproject 项目名称 2.创建APP python manage.py startapp app名称 3.修改settings.py文件 3.1设 ...

  3. 常用排序算法的总结以及编码(Java实现)

    常用排序算法的总结以及编码(Java实现) 本篇主要是总结了常用算法的思路以及相应的编码实现,供复习的时候使用.如果需要深入进行学习,可以使用以下两个网站: GeeksForGeeks网站用于学习相应 ...

  4. python-numpy-pandas

    目录 numpy 模块 创建矩阵方法: 获取矩阵的行列数 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 矩阵的运算 pandas模块 series (一维列表) DataFrame DataF ...

  5. python中字符串的一些用法

    一.字符串的拼接:      a=‘123’      b=‘abc’       d=‘hello world’ 1.print(a+b) 2.print(a,b) 3. c=‘ ’.join((a ...

  6. CodeForce:16C-Monitor

    传送门:http://codeforces.com/problemset/problem/16/C Monitor time limit per test0.5 second memory limit ...

  7. loj2020 「HNOI2017」礼物

    所有的下标从 \(0\) 开始. 考虑枚举 \(C\) (第一个加上负的等于第二个加上其绝对值)和第二个手链的偏移量 \(p\).答案就是 \[\sum_{i=0}^{n-1}(x_i+C-y_{(i ...

  8. 总结:PHP值得注意的几个问题

    1.除了变量和常量区分大小写外,其他的标识符不区分大小写(例如关键字,类名,函数名等): 2. >>>是无符号右移,不管第一位是0还是1,右移后前面都是补0: 3.在函数中传递数组, ...

  9. ssh免密码登录远程服务器(不采用securecrt登录)

      http://blog.csdn.net/leexide/article/details/17252369       Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签:  ...

  10. 视频播放插件Video.js

    这是一个很强大的视频播放插件.