我是靠谱客的博主 耍酷小蘑菇,最近开发中收集的这篇文章主要介绍Kubernetes 1.9.1安装流程 准备 安装Master 安装Node,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

安装流程基本参考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

安装参考文档

  • 官方: https://kubernetes.io/docs/setup/independent/install-kubeadm/
  • 版本对应镜像版本:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#running-kubeadm-without-an-internet-connection
  • http://blog.csdn.net/bwlab/article/details/50542261
  • https://www.cnblogs.com/ericnie/p/7749588.html
  • https://mritd.me/2016/10/29/set-up-kubernetes-cluster-by-kubeadm/#32load-镜像
  • http://dockone.io/article/2514

最后

以上就是耍酷小蘑菇为你收集整理的Kubernetes 1.9.1安装流程 准备 安装Master 安装Node的全部内容,希望文章能够帮你解决Kubernetes 1.9.1安装流程 准备 安装Master 安装Node所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部