继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

kubeadm 安装kubernetes v1.10

富国沪深
关注TA
已关注
手记 430
粉丝 41
获赞 158

kubeadm 安装kubernetes

  1. 安装docker
    用你系统对应的包管理工具来安装,centos的安装如下

    yum install -y docker
    systemctl enable docker && systemctl start docker
  2. 安装kubeadm,kubelet,kubectl

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    setenforce 0
    yum install -y kubelet kubeadm kubectl
    systemctl enable kubelet && systemctl start kubelet
    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
    docker info | grep -i cgroup
    cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

    如果不一样,最好是修改一下docker的配置,从/usr/lib/systemd/system/docker.service中找到native.cgroupdriver配置
    重启一下docker,执行以下命令

    systemctl daemon-reload
    systemctl restart docker
    systemctl stop firewalld && systemctl disable firewalld
  • 关闭防火墙,执行下面命令

  • kubelet 现在在不断的重启,它在等待kubeadm告诉它接下来干啥

  • 确保kubelet用的cgroup驱动和Docker用的是相同的,可以通过下面的命令获取配置进行比较

  • 如果安装由于访问问题的话,可以配置代理进行再执行上述命令

  • 注意setenforce 0作用是,关闭SELinux,这样就可以让容器访问到主机的文件系统(否则启动k8s组件容器时,会出现没权限访问主机上的证书、密钥的错误)

  • 配置网桥参数,使得流量不会绕过iptable 执行命令如下

由于镜像都是google的镜像仓库中的镜像,给Docker配置代理来使得接下来的操作中拉取镜像成功,执行以下命令

mkdir /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/http-proxy.conf
echo <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
 Environment="HTTP_PROXY=http://IP:PORT" "HTTPS_PROXY=http://IP:PORT"
 EOF

初始化master

kubeadm init --pod-network-cidr=10.244.0.0/16
You can now join any number of machines by running the following on each node
as root:

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
  • 后续安装Flannel网络插件,所以加配上述参数

  • 安装成功后,在输出信息中,要备份记录下最后的这句话,以备后续在node上执行这个命令来加入集群

配置kubectl,使其能访问api-server
root用户执行下面的命令

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

root用户可简单执行如下命令

export KUBECONFIG=/etc/kubernetes/admin.conf

安装Pod network,安装Flannel 执行下面的命令

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

此时可以通过kubectl get pods --all-namespaces查看 集群情况,
一旦 kube-dns 启动运行起来后,就可以加入其它nodes

Master节点加入被编排的node中,形成单节点kubernetes集群, 执行下面的命令

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

加入node
先执行1、2、3步,完成安装Docker、kubelet、kubeadm,以及管理防火墙、关闭SELunix,配置代理等
加下来执行如下命令

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>



作者:stepyu
链接:https://www.jianshu.com/p/3b305af8e15d


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP