Kubernetes 1.9.1安装流程

安装流程基本参考k8s官方提供的帮助文档,然后稍作修改,点此查看

准备

操作系统:ubuntu 16.04 lts

1.关闭swap

swapoff -a

2.关闭防火墙

3.关闭selinux

安装Master

注意: 源地址中的xenial为ubuntu 16.04的版本代号,如果使用其他ubuntu版本,把xenial更换为对应系统版本的代号即可

更换apt-get源

cp /etc/apt/sources.list  /etc/apt/sources.list.primary
cat <<- EOF >/etc/apt/sources.list 
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
EOF
apt update

更换国内kuberbutes源

kuberbutes源用来安装kubelet、kubeadm、kubectl,国内能用的kuberbutes源只有中科大的,阿里云的源实测用不了,执行以下命令更换源

cat << EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt/ kubernetes-xenial main
EOF
apt update

更换kuberbutes源可以会遇到报错,提示"The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3746C208A7317B0F",此时需导入apt-key。google官方提供的命令是:

apt-get update && apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

但由于国内被墙访问不了,可以自行fan墙下载到本机再执行apt-key add <filename>,也可用我已经下载好的apt-key点此下载,执行apt-key add apt-key.gpg,再执行apt update即可

安装docker

apt-get update
apt-get install -y docker.io

安装完成后使用阿里镜像源加速器并启动docker守护进程

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors":["https://1i41a0mn.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker.service

安装kubeadm, kubelet and kubectl

apt-get install -y kubelet kubeadm kubectl

目前为止默认安装最新版1.9.1

预下载镜像

需要下载的镜像列表:

Image Namev1.8 release branch versionv1.9 release branch version
k8s.gcr.io/kube-apiserver-${ARCH}v1.8.xv1.9.x
k8s.gcr.io/kube-controller-manager-${ARCH}v1.8.xv1.9.x
k8s.gcr.io/kube-scheduler-${ARCH}v1.8.xv1.9.x
k8s.gcr.io/kube-proxy-${ARCH}v1.8.xv1.9.x
k8s.gcr.io/etcd-${ARCH}3.0.173.1.10
k8s.gcr.io/pause-${ARCH}3.03.0
k8s.gcr.io/k8s-dns-sidecar-${ARCH}1.14.51.14.7
k8s.gcr.io/k8s-dns-kube-dns-${ARCH}1.14.51.14.7
k8s.gcr.io/k8s-dns-dnsmasq-nanny-${ARCH}1.14.51.14.7
gcr.io/google_containers/kube-discovery-${ARCH}1.01.0
gcr.io/google_containers/dnsmasq-metrics-${ARCH}1.01.0
gcr.io/google_containers/exechealthz-${ARCH}1.21.2

${ARCH} 代表平台类型,可以为以下其中一种: amd64, arm, arm64, ppc64le 或 s390x.
至于国内获取 Kubernetes 镜像的方法,请移步文章 点此,自行下载即可。

安装MASTER节点

kubeadm init --kubernetes-version=1.9.1

安装完成后得到提示执行相关命令,如下
普通用户执行:

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

root用户执行:

export KUBECONFIG=/etc/kubernetes/admin.conf

安装CNI网络插件

安装成功后执行kubectl get node会显示master节点一直NotReady状态,此时需安装用户容器网络通讯的CNI插件。可选的CNI网络插件有很多,可点此查看
不安装的话Master上执行 get nodes 会得到 NotReady状态,我这里选择了weave插件

官方文档: Set /proc/sys/net/bridge/bridge-nf-call-iptables to 1 by running sysctl net.bridge.bridge-nf-call-iptables=1 to pass bridged IPv4 traffic to iptables’ chains.

export kubever=$(kubectl version | base64 | tr -d '\n')
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"

安装成功后执行kubectl get node,master节点会更新为ready

至此,master节点已经安装完成。

安装Node

安装kubeadm、docker等工具

apt install -y docker.io kubelet kubeadm kubectl kubernetes-cni

运行Docker 和 kubelet服务,并设置为开机启动

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

下载kubernetes镜像

流程与安装 Master 节点一样

加入集群

kubeadm join **** (就是Master安装完成后显示的提示中kubeadm join开头的那一句代码)

Master参与工作负载

kubeadm 在Master 节点也安装了kubelet,在默认情况下并不参与工作负载,如果希望安装一个单机的All-In-One 的 Kubernetes环境,则可以执行下面命令,让Master节点成为一个Node节点

kubectl taint

注意: 虚拟机关机后,重新打开,Kubernetes出现无法连接的情况(有时候会出现),再执行下

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

安装参考文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值