概述
安装流程基本参考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 Name | v1.8 release branch version | v1.9 release branch version |
---|---|---|
k8s.gcr.io/kube-apiserver-${ARCH} | v1.8.x | v1.9.x |
k8s.gcr.io/kube-controller-manager-${ARCH} | v1.8.x | v1.9.x |
k8s.gcr.io/kube-scheduler-${ARCH} | v1.8.x | v1.9.x |
k8s.gcr.io/kube-proxy-${ARCH} | v1.8.x | v1.9.x |
k8s.gcr.io/etcd-${ARCH} | 3.0.17 | 3.1.10 |
k8s.gcr.io/pause-${ARCH} | 3.0 | 3.0 |
k8s.gcr.io/k8s-dns-sidecar-${ARCH} | 1.14.5 | 1.14.7 |
k8s.gcr.io/k8s-dns-kube-dns-${ARCH} | 1.14.5 | 1.14.7 |
k8s.gcr.io/k8s-dns-dnsmasq-nanny-${ARCH} | 1.14.5 | 1.14.7 |
gcr.io/google_containers/kube-discovery-${ARCH} | 1.0 | 1.0 |
gcr.io/google_containers/dnsmasq-metrics-${ARCH} | 1.0 | 1.0 |
gcr.io/google_containers/exechealthz-${ARCH} | 1.2 | 1.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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复