1.深入理解k8s:kubernetes的安装

k8s的部署方式:

1.kubeadm方式:

(1)需要在各个节点上运行docker和kubectlet,kubeadm

(2)master节点运行kubeadm的init,此时主节点跑起来了

(3)各个node节点分别执行join

 

2.具体安装步骤

关闭防火墙

master节点上:-----------------------------------------------------------------------------------------------------

cd /etc/yum.repos.d

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 下载docker阿里云仓库

vim kubernetes.repo

 

[kubernetes]

name=Kubernetes

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

gpgcheck=1

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

enabled=1

 

注:gpgkey在https://mirrors.aliyun.com/kubernetes/yum/doc/下面找

yum repolist查看是否有kubernetes程序包可用。

 

复制docker-ce.repo kubernetes.repo复制到其他节点。

安装组件:

yum install docker-ce kubelet kubeadm kubectl

 

如果指定版本:yum install docker-ce-17.03

 

如果gpg有错误,可以wget下来,使用rpm --import yum-key.gpg,再次使用yum install

rpm --import rpm-package-key.gpg导入进来,这几个key都在https://mirrors.aliyun.com/kubernetes/yum/doc/ 下面

 

其他两个节点同样执行安装。

 

master节点:

vim /usr/lib/systemd/system/docker.service

加入:

Environment="HTTPS_PROXY=http://www.ik8s.io:10080"

Environment="NO_PROXY=127.0.0.0/8.172.0.0.20/16“

 

加载完镜像后把这行删除。

systemctl daemon-reload

systemctl start docker

docker info 查看是否有报错。

 

cat /proc/sys/net/bridge/bridge-nf-call-iptables

cat /proc/sys/net/bridge/bridge-nf-call-ip6tables

如果上面两个值是1,那么不需要修改。

 

查看kubelet安装了哪些文件:

rpm -ql kubelet

 

cat /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS=

 

启动kubelet:

systemctl start kubelet

查看启动状态:

systemctl status kubelet

查看日志:

tail /var/log/messages

 

设置开启启动:

systemctl enable kubelet

systemctl enable docker

 

初始化kubeadm

查看kubeadm帮助文件:

kubeadm init --help

kubeadm --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12

 

如果报swamp错误:

vim /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

 

kubeadm --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

 

首先会拉取镜像:

kube-proxy

kube-apiserver

kube-scheduler

etcd

kube-controller

pause (为pod提供基础架构容器)

 

命令执行完成后,会有提示:

to start useing your cluster,you need to run ...

...

kubeadm join

 

查看apiserver有没有监听6443端口:

ss -tnl

 

按照”to start useing your cluster,you need to run ...“提示的操作执行三个操作:

sudo mkdir -p $HOME/.kube

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

权限修改

 

查看组件健康状态信息:

kubectl get cs

 

查看节点信息:

kubectl get nodes 会显示master的status为notready,还需要部署flanel

 

github上找到flanel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 

查看docker镜像是否已经下载下来:

kubectl get pods -n kube-system 获取所有的pod,如果flannel已经下载好并且部署好

再次kubectl get nodes可以看到master已经是ready状态。

 

kubectl get ns 查看名称空间

-----------------------------------------------------------------------------------------------------

node节点:

yum install docker-ce kubelet kubeadm

1.修改docker.service的地址,与master节点一致。

2.复制/etc/sysconfig/kubelet 到其他节点

3.开机启动docker kubelet

4.启动docker

5.kubeadm join xxx --ignore-preflight-errors=Swap

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值