k8s安装 1.10.1


k8s版本


主机名


ip


配置


1.10


master


192.168.61.250


4C8G


node1


192.168.61.251


4C8G


node2


192.168.61.252


4C8G

kubectl 命令补全

[email protected]:/# vim /etc/profile  #添加下面这句,再source

source <(kubectl completion bash)

[email protected]:/# source /etc/profile

修改主机名,时区

timedatectl set-timezone Asia/Shanghai

hostnamectl  set-hostname master

hostnamectl  set-hostname node1

hostnamectl  set-hostname node2

修改hosts文件

cat <<eof >> /etc/hosts

192.168.61.250 master

192.168.61.251 node1

192.168.61.252 node2

eof

关闭所有节点的seliux以及firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

systemctl disable firewalld

systemctl stop firewalld

1. 安装docker

上传离线文件

tar -xvf docker-packages.tar

cd docker-packages

for i in `ls`; do rpm -Uvh $i; done

yum -y install docker

docker version

systemctl start docker && systemctl enable docker

docker info | grep Driver

systemctl cat docker

修改docker驱动为cgroupfs驱动(此处版本为1.13修改方式,高版本为其他文件)

sed -i '/native.cgroupdriver/s/systemd/cgroupfs/g' /usr/lib/systemd/system/docker.service

systemctl daemon-reload && systemctl restart docker

systemctl status  docker

2. 安装k8s

安装kubeadm,kubectl,kubelet

使用文件kube-packages-1.10.1.tar,每个节点都要安装
kubeadm是集群部署工具
kubectl是集群管理工具,通过command来管理集群
kubelet的k8s集群每个节点的docker管理服务

tar -xvf kube-packages-1.10.1.tar

cd kube-packages-1.10.1

rpm -Uvh *

在所有kubernetes节点上设置kubelet使用cgroupfs,与dockerd保持一致,否则kubelet会启动报错

sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

systemctl daemon-reload && systemctl restart kubelet

修改

vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Environment="DAEMON_ARGS=--runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice"

ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS $DAEMON_ARGS

关闭swap,及修改iptables,不然后面kubeadm会报错

swapoff -a

sed -i '/swap/s/^/#/g' /etc/fstab

cat <<EOF >  /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl --system

3. 导入镜像(导入到docker)

cd ..

docker load -i k8s-images-1.10.tar.gz

docker images

一共11个镜像,分别是 k8s.gcr.io/etcd-amd64:3.1.12 k8s.gcr.io/kube-apiserver-amd64:v1.10.1 k8s.gcr.io/kube-controller-manager-amd64:v1.10.1 k8s.gcr.io/kube-proxy-amd64:v1.10.1 k8s.gcr.io/kube-scheduler-amd64:v1.10.1 k8s.gcr.io/pause-amd64:3.1 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3 quay.io/coreos/flannel:v0.9.1-amd64

4. kubeadm init 部署master节点

kubeadm init --kubernetes-version=v1.10.1 --pod-network-cidr=10.244.0.0/16

将结果记录下来

node加入master用到

kubeadm join 192.168.61.250:6443 --token jo5f9v.8qp1641qgxl15ba7 --discovery-token-ca-cert-hash sha256:2aa75a48cf7f9ecb5710df6e6311a17afb2e471194f9344175c6351b60308c59

记下join的命令,后续node节点加入的时候要用到
执行提示的命令,保存kubeconfig

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

此时执行kubectl get node 已经可以看到master节点,notready是因为还未部署网络插件

查看所有的pod,kubectl get pod --all-namespaces
kubedns也依赖于容器网络,此时pending是正常的

配置KUBECONFIG变量

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile

source /etc/profile

echo $KUBECONFIG    #应该返回/etc/kubernetes/admin.conf

5. 部署flannel网络

k8s支持多种网络方案,flannel,calico,openvswitch
此处选择flannel。 在熟悉了k8s部署后,可以尝试其他网络方案

kubectl apply -f kube-flannel.yml

网络部署完成后,节点状态变为ready

6. kubeadm join 加入node节点(节点加入集群)

kubeadm token list  #查看token

kubeadm join 192.168.61.250:6443 --token jo5f9v.8qp1641qgxl15ba7 --discovery-token-ca-cert-hash sha256:2aa75a48cf7f9ecb5710df6e6311a17afb2e471194f9344175c6351b60308c59

8. master上查看node

kubectl get node

至此,集群已经部署完成。

如果token失效

则kubeadm token create创建一个,记录下token数据

kubeadm token list

node节点执行如下,把token部分进行替换

kubeadm join --token wct45y.tq23fogetd7rp3ck 192.168.1.181:6443 --discovery-token-unsafe-skip-ca-verification

原文地址:http://blog.51cto.com/13272050/2156031

时间: 2024-10-08 20:58:58

k8s安装 1.10.1的相关文章

k8s Kubernetes v1.10 单节点 kubeadm 快速安装

k8s Kubernetes v1.10 单节点 kubeadm 快速安装 # Master 单节点快速安装 # 傻瓜式安装,只为快速部署测试环境 #测试环境centos 7.4 #ubuntu环境应该也可以,没测验证过 #1 初始化环境 curl -s http://elven.vip/ks/k8s/oneinstall/0.set.sh |bash #2 下载镜像,安装kubeadm工具 curl http://elven.vip/ks/k8s/oneinstall/1.download.s

k8s Kubernetes v1.10 最简易安装 shell

k8s Kubernetes v1.10 最简易安装 shell # Master 单节点快速安装 # 最简单的安装shell,只为快速部署k8s测试环境 # 测试环境centos 7.4 , ubuntu server 18.04 #1 初始化环境 curl -s http://elven.vip/ks/k8s/oneinstall/0.set.sh |bash #2 下载镜像,安装kubeadm工具 curl -s http://elven.vip/ks/k8s/oneinstall/1.d

k8s安装

k8s安装:cat /etc/hosts127.0.0.1 localhost10.26.3.182 kuber-node110.26.3.184 kuber-master1.关闭防火墙 systemctl stop firewalld.service2.关闭selinux setenforce 03.创建/etc/sysctl.d/k8s.conf文件,添加如下内容: net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-ca

在虚拟机下安装ubuntu 10.04 64bit,并修改root用户密码

实验的环境: 笔记本是:HP 虚拟机:VMware  9 准备安装的操作系统: ubuntu 10.04  64bit 实验步骤: 一:让自己的hp支持虚拟化技术(由于ubuntu 10.04  64bit需要CPU支持虚拟化技术,所以要通过bios来更改电脑的默认设置) 启动时根据提示按 Esc 键 按 F10 键以配置 BIOS 使用箭头键滚动到"System Configuration" 选择"Virtualization Technology",然后按 En

ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法

ubuntu 14.04 安装成功后,平时的工作什么的都够用了, 最近需要做一个测试,测试环境还必须是windows的.所以就准备整个虚拟机来,kvm 跟 vmware 考虑再三,选择了 vmware .vmware 10的安装方法,就不做说明了.度娘或谷哥还是有蛮多方法.我这里所写的是,vmware 安装后,启动时报错. 报错图片如下: 解决方法: 当然方法有很多种,我也试过几种方法,有使用patch 的,但是我用这种方法的时候,出现错误了,继续找方法的时候,有网友有告诉过这样一种方法,就是手

VMware Workstation 12 Pro 虚拟机的使用(二)安装Windows 10操作系统

微软已经推出Windows 10系统有一段时间了,周围很多人想尝试一下微软的新操作系统,就升级了.升级后一些人发现Win10兼容性不好,出现了各种各样的问题,对日常使用造成不小影响.如果想体验下最新的Win10系统,但又担心Win10的兼容性或者暂时不想折腾着换系统,那么你可以在虚拟机中安装Win10系统体验一下.当然,这对电脑性能有一定的要求.下面就开始简单介绍一下用VMware Workstation 12 Pro 虚拟机安装Windows 10操作系统的步骤.(安装方法不唯一,本文只选取一

win8.1下安装UbuntuKylin13.10完整版教程

昨天在网上找win8.1下安装Ubuntu教程,竟然一篇也没找到,好吧,我已经习惯了,毕竟win8.1还是新系统.只能参照win7下的教程自己研究着装,结果幸运的一次就装好了,所以今天决定把自己win8.1下安装Ubuntu13.10的经验分享给大家. 一.准备 先在windows下给Ubuntu划出空白的硬盘的分区.打开控制面板,依次打开系统和安全/管理工具/创建并格式化硬盘分区 ,进入磁盘管理.在磁盘末尾分出空白盘,并将之删除.具体操作为:右键"压缩卷",压缩量即为划给ubuntu

使用RPM包离线安装MariaDB 10.0.20 , 基于CentOS 6.6-x86-64

使用RPM包[离线]安装 MariaDB 10.0.20,基于CentOS 6.6-x86-64 Minimal 湘中朱生 2015-07-01 于深圳福田 QQ: 872007255 MariaDB交流群: 198111730 文档说明: 1. 网上有很多关于MariaDB/Mysql数据库的安装技术博客文档,主要有源码编译安装和Yum源安装,有些写得很规范优秀,但很少有基于离线RPM包安装的. 2. 源码编译安装对于初学者而言门槛过高, 很容易打击MariaDB初学者学习探索的积极性; Yu

玩转树莓派&mdash;&mdash;安装 Windows 10 IoT Core

在树莓派上运行过Windows 3.1,自然也想运行Windows 10.于是准备在树莓派上安装一个Windows 10 IoT Core的系统. 写下这篇文字的时候,其实已经不是第一次安装运行Windows 10 IoT Core了.在我生日那天拿到树莓派之后,就立即尝试了一把Windows 10 IoT Core.当时正式的Pi 3的支持还没有发布,使用的是Windows Insider的版本.树莓派3和树莓派2最大的不同,是自带WiFi和蓝牙适配器.而当时Windows 10 IoT的版本