kubeadm安装k8s

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/skh2015java/article/details/97403935

一、环境准备

centOS7

2核2G内存

 

切换k8s  yum源(使用国内阿里云镜像)

vim /etc/yum.repos.d/kubernetes.repo

# 写入以下内容

[kuberneten]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

缓存生效

yum makecache

禁用虚拟内存

swapoff -a

 

禁用SELINUX

setenforce 0

 

关闭防火墙

systemctl disable firewalld.service && systemctl stop firewalld.service

 

设置转发配置

创建/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

 

 

二、安装

1.安装kubeadm和相关工具

yum  install -y docker kubelet kubeadm kubectl kubernetes-cni

 

查看安装的版本:

kubeclt  version

 

启动 docker 和 kubelet 服务

systemctl enable docker && systemctl start docker

systemctl enable kubelet && systemctl start kubelet

 

2.下载相关镜像

kubeadm config images list

 

使用如下命令拉取镜像,并打tag

docker pull docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0

docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0   k8s.gcr.io/kube-apiserver:v1.15.0

 

docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0

docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0   k8s.gcr.io/kube-controller-manager:v1.15.0

 

docker pull docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0

docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0   k8s.gcr.io/kube-scheduler:v1.15.0

 

docker pull docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.15.0

docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.15.0  k8s.gcr.io/kube-proxy:v1.15.0

 

docker pull docker.io/mirrorgooglecontainers/pause-amd64:3.1

docker tag docker.io/mirrorgooglecontainers/pause-amd64:3.1  k8s.gcr.io/pause:3.1

 

docker pull docker.io/mirrorgooglecontainers/etcd-amd64:3.3.10

docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.3.10   k8s.gcr.io/etcd:3.3.10

 

docker pull docker.io/coredns/coredns:1.3.1

docker tag docker.io/coredns/coredns:1.3.1  k8s.gcr.io/coredns:1.3.1

 

 

三、初始化

kubeadm init  --kubernetes-version=1.15.0  --pod-network-cidr=10.244.0.0/16

 

按照提示进行配置

mkdir -p $HOME/.kube

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

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

 

安装网络插件

kubectl apply -f https://git.io/weave-kube-1.6

 

查看是否所有的节点都运行成功

kubectl get pods -n kube-system

 

如果有节点没有运行成功我们用kubectl describe pod NAME

通过查看该pod的Events来,找到之后根据问题解决问题即可

kubectl describe pod -n kube-system NAME  (注:NAME为该pod的名称,如上图的coredns-5c98db65d4-768c7)

 

 

安装 Node,加入集群

新节点的环境安装,可以参见本文的 安装 kubeadm 和相关工具 一节。

在节点上执行,以加入集群:

# 注意把 YOURIP、YOURTOKEN、YOURHASH 替换成自己的

# 具体命令可以参见 kubeadm init 之后最后一行的输出

kubeadm join YOURIP --token YOURTOKEN --discovery-token-ca-cert-hash YOURHASH

 

 

默认情况下Master节点是不能运行工作节点即Node,可以执行下面的命令来搭建一个 all-in-one 的 kubernetes 环境。

kubectl taint nodes --all node-role.kubernetes.io/master-

执行 kubectl get nodes 可以查看节点状态。

 

 

参考地址:

https://www.jianshu.com/p/f9a54e553ce4

展开阅读全文

没有更多推荐了,返回首页