#初始化服务器

echo 'export LC_ALL="en_US.UTF-8"' >> /etc/profile
source /etc/profile
#!/bin/bash
#1. 新服务器建议把一些软件通过yum安装上,因为只是占用很小的磁盘空间,但是比较常用 yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake\
libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel\
wget vim ncurses-devel autoconf automake zlib-devel python-devel\
epel-release lrzsz openssh-server socat ipvsadm conntrack bind-utils epel-release libffi-devel
#2. 关闭firewalld防火墙,禁止开机启动,安装iptables,并且禁用开机启动,如有需要请另行设置iptables规则 systemctl stop firewalld && systemctl disable firewalld
yum install iptables-services -y
iptables -F && service iptables save
service iptables stop && systemctl disable iptables
#3. 修改时区,时间同步 mv -f /etc/localtime /etc/localtime.bak
/bin/cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'ZONE="CST"' > /etc/sysconfig/clock
ntpdate cn.pool.ntp.org
#计划任务,crontab -e
#* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
#4.关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
#新服务器建议reboot让永久生效
#5. 放开文件描述符的最大值限制,默认是1024 echo "ulimit -n 65536" >> /etc/profile
echo "root soft nofile 65536" >> /etc/security/limits.conf
echo "root hard nofile 65536" >> /etc/security/limits.conf
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
source /etc/profile
#6. 如果没有swap,建议设置个swap #请根据自己的内存,调节swap的大小,例如调大count的值
#dd if=/dev/zero of=/swapfile bs=1k count=2048000
#mkswap /swapfile
#chmod 0600 /swapfile
#swapon /swapfile
#echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
#如果安装k8s等特殊场景,需要禁用swap请 #swapoff -a
#sed -i 's/.*swap.*/#&/' /etc/fstab
#7. centos 7 修改主机名 #请根据自己的情况,修改自己的主机名
#hostnamectl set-hostname localhost
#根据自己的情况,修改/etc/hosts中旧的主机名
#8. 修改内核参数 #请根据具体场景修改内核参数,暂时没有很好的建议
#如果是k8s请先作如下配置
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl -p
#9. 设置免密登陆的密钥 #一直回车
#默认相关内容放在/root/.ssh/下面
#如果/root/.ssh/下面没有authorized_keys文件,请touch #/root/.ssh/authorized_keys && chmod 600 #/root/.ssh/authorized_keys
#ssh-keygen -t rsa
# 10. 修改yum源 #备份原来的yum源
mv -f /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载阿里的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#配置k8s 的yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF

#配置docker 的yum源,及查看支持的docker版本

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates |sort -r

#下载18.09版本的docker

yum clean all
yum makecache fast
yum install -y docker-ce-18.09.9-3.el7
systemctl enable docker && systemctl start docker
systemctl status docker

# 安装k8s 1.16.4

#在k8s-master和k8s-node上安装kubeadm和kubelet
#kubelet设置开机启动
yum install -y kubeadm-1.16.4-0.x86_64 kubelet-1.16.4-0.x86_64
systemctl enable kubelet

#手动上传docker镜像到k8s_master和k8s_node节点

#正式环境一般都是配置docker harbor 镜像仓库

cd /usr/local/src/
wget http://download.zhufunin.com/k8s_1.16/addon.tar.gz
wget http://download.zhufunin.com/k8s_1.16/apiserver_1_16.tar.gz
wget http://download.zhufunin.com/k8s_1.16/cordns_1_6_2.tar.gz
wget http://download.zhufunin.com/k8s_1.16/etcd_3_3_15.tar.gz
wget http://download.zhufunin.com/k8s_1.16/kube-controller-manager_1_16.tar.gz
wget http://download.zhufunin.com/k8s_1.16/kube-proxy_1_16.tar.gz
wget http://download.zhufunin.com/k8s_1.16/kube-scheduler_1_16.tar.gz
wget http://download.zhufunin.com/k8s_1.16/kubernetes-dashboard_1_10.tar.gz
wget http://download.zhufunin.com/k8s_1.16/metrics-server-amd64_0_3_1.tar.gz
wget http://download.zhufunin.com/k8s_1.16/pause_3_1.tar.gz
wget http://download.zhufunin.com/k8s_1.16/traefik_1_7_9.tar.gz
#手动解压镜像
docker load -i apiserver_1_16.tar.gz
docker load -i cordns_1_6_2.tar.gz
docker load -i etcd_3_3_15.tar.gz
docker load -i kube-controller-manager_1_16.tar.gz
docker load -i kube-proxy_1_16.tar.gz
docker load -i kubernetes-dashboard_1_10.tar.gz
docker load -i kube-scheduler_1_16.tar.gz
docker load -i metrics-server-amd64_0_3_1.tar.gz
docker load -i pause_3_1.tar.gz
docker load -i traefik_1_7_9.tar.gz
docker load -i addon.tar.gz

#在k8s_master节点初始化k8s集群

#192.168.1.202为master的IP地址,请根据自己的情况修改
kubeadm init --apiserver-advertise-address 192.168.1.202 --kubernetes-version=v1.16.4 --pod-network-cidr=10.244.0.0/16

#在k8s-master节点执行如下,这样才能有权限操作k8s资源

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#把k8s-node节点加入到k8s集群,在node节点操作

#在slave服务器上,跑如下命令
#192.168.1.202为master的IP
#token请根据自己的情况做相应的修改
kubeadm join 192.168.1.202:6443 --token fegy3d.0c2ovmf4unkpbssk \
--discovery-token-ca-cert-hash sha256:fde13ccab75a1da4a0bedaa9a66c6ed82eacae63c98f22961f4cea12f3b8c589

#在k8s-master节点查看k8s的组员,都是notready

kubectl get nodes

#在k8s-master节点安装calico网络插件

wget http://download.zhufunin.com/k8s_1.16/calico.yaml
kubectl apply -f calico.yaml

#在k8s-master节点查看STATUS状态, 应该都是ready状态

kubectl get nodes

#在k8s-master节点安装dashboard界面

wget http://download.zhufunin.com/k8s_1.16/kubernetes-dashboard.yaml
kubectl apply -f kubernetes-dashboard.yaml

#在k8s-master节点安装metrics监控插件

wget http://download.zhufunin.com/k8s_1.16/metrics.yaml
kubectl apply -f metrics.yaml

#上面组件都安装之后,kubectl get pods -n kube-system,查看组件安装是否正常,STATUS状态是Running,说明组件正常

kubectl get pods -n kube-system

centos7安装kubernetes k8s 1.16的更多相关文章

  1. Centos7安装Kubernetes k8s v1.16.0 国内环境

    一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...

  2. centos7安装kubernetes k8s 1.18

    可以参考其他网友的阿里云搭建k8s高可用集群(1.17.3) https://www.cnblogs.com/gmmy/p/12372805.html 准备四台centos7虚拟机,用来安装k8s集群 ...

  3. CentOS7安装Kubernetes

    CentOS7安装Kubernetes 安装Kubernetes时候需要一台机器作为管理机器,1台或者多台机器作为集群中的节点. 系统信息: Hosts: 请将IP地址换成自己环境的地址. cento ...

  4. centos7.3 kubernetes/k8s 1.10 离线安装 --已验证

    本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...

  5. Centos7.6部署k8s v1.16.4高可用集群(主备模式)

    一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...

  6. centos7安装kubernetes 1.1

    原文地址:http://foxhound.blog.51cto.com/1167932/1717105 前提:centos7 已经update yum update -y 一.创建yum源 maste ...

  7. 开启和安装Kubernetes k8s 基于Docker For Windows

    0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerServi ...

  8. CentOS7 安装kubernetes

    2台机器,1台为Master,1台为Node 修改Host Master为dmaster,Node为dslave 安装K8s and Etcd 在Master机器上安装 yum install etc ...

  9. centos7 安装Hadoop-2.6.0-cdh5.16.1.tar.gz

    准备Hadoop-2.6.0-cdh5.16.1.tar.gz 下载网址 http://archive.cloudera.com/cdh5/cdh/5/Hadoop-2.6.0-cdh5.16.1.t ...

随机推荐

  1. 通过const app = getApp()实现在 page 页面获取 app.js 定义的属性globalData,即获取全局数据

    App.js是项目的入口文件,页面的 page.js 文件会覆盖 app.js文件, App.js文件里面的一些方法: onLaunch : function(){}:这个方法是当小程序加载完毕后就执 ...

  2. vue中将分号去掉,将双引号变为单引号的配置

    在项目根目录下创建.prettierrc文件,文件内容如下: { "semi": false, "singleQuote": true } 实现vs code中 ...

  3. SpringBoot 配置文件以及依赖 加上跨域配置文件

    配置目录: application.properties的配置 #设置服务端口号 server.port = 8090 #配置数据源 spring.datasource.driver-class-na ...

  4. linux之安装nginx

    nginx官网:http://nginx.org/en/download.html 1.安装nginx所需环境 a)  PCRE pcre-devel 安装 # yum install -y pcre ...

  5. 后端程序员之路 17、LaTeX公式

    之前的文章写了两个公式:d(x,y)=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2} H_x=-\sum_{i=1}^{n}p(x_i)\log_{2}{p(x_i)} LaTex ...

  6. MySQL深入研究--学习总结(2)

    前言 接上文,继续学习后续章节. 第四章&第五章<深入浅出索引> 这两章节主要介绍的索引结构及其如何合理建立索引,但是我觉得讲的比较简单. 总结回顾下吧,其实在我之前的文章< ...

  7. POJ-1459(最大流+EK算法)

    Power Network POJ-1459 这题值得思索的就是特殊的输入,如何输入一连串字符.这里采用的方法是根据输入已知的输入格式,事先预定好要接受的数据类型. 这里套用的板子也是最大流的模板,但 ...

  8. CodeBlocks的安装配置以及使用教程

    CodeBlocks的安装配置以及使用教程 教程写的很啰嗦,本来几句话就能搞定的,但为了照顾到那部分真正的小白还请大家见谅! 一.下载 前往CodeBlocks官网下载带编译器的版本,目前的最新版本为 ...

  9. mongodb 聚合(aggregate)

      MongoDB中文手册|官方文档中文版 https://docs.mongoing.com/ 聚合操作处理数据记录和 return 计算结果.聚合操作将来自多个文档的值组合在一起,并且可以对分组数 ...

  10. 确保某个BeanDefinitionRegistryPostProcessor Bean被最后执行的几种实现方式

    目录 一.事出有因 二.解决方案困境 三.柳暗花明,终级解决方案 第一种实现方案 第二种实现方案 第三种实现方案 四.引发的思考 一.事出有因 ​ 最近有一个场景,因同一个项目中不同JAR包依赖同一个 ...