ubuntu18.04 Kubernetes集群安装

首先进入系统配置使用root用户

passwd root

键入密码

通过su并输入密码进入root用户

Docker

  1. 安装apt-get系统工具
apt-get update
  1. 安装允许apt通过HTTPS使用存储库
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  1. 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
  1. 写入软件源信息
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新并安装Docker-CE
apt-get -y update
apt-get -y install docker-ce
  1. 配置加速器

使用阿里云

vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://l6lt06g1.mirror.aliyuncs.com"
  ]
}

这里的地址替换为自己的

systemctl daemon-reload
systemctl restart docker

Kuberneters

  1. kubernetes必备工具
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat << EOF >/etc/apt/sources.list.d/kubenetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt update && apt install -y kubelet kubeadm kubectl
  1. 同步时间
  • 设置时区

    dpkg-reconfigure tzdata
    

    选择亚洲上海

  • 时间同步

    apt install ntpdate
    #设置系统时间与网络同步(cn.pool.ntp.org位于中国的公共NTP服务器)
    ntpdate cn.pool.ntp.org
    #将系统时间写入硬件时间
    hwclock --systohc
    
  1. 固定主机名
apt install cloud-init
vim /etc/cloud/cloud.cfg

修改preserve_hostname: true

  1. 设置固定ip

vim /etc/netplan/...yaml

network:
  ethernets:
    ens33: # 网卡
      addresses: [192.168.8.128/24] # IP及掩码
      gateway4: 192.168.8.255 # 网关
      nameservers:
        addresses: [223.5.5.5] # DNS
  version: 2

netplan apply使之生效

  1. 设置主机名
hostnamectl set-hostname kubernetes-node2
cat >> /etc/hosts << EOF
192.168.8.139 kubernetes-node2
EOF

修改各个节点的主机名,不要重名

  1. 主节点安装k8s
cd /usr/local/
mkdir -p kuberneters/cluster
cd kubernetes/cluster
kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml

修改kubeadm.yml

apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.8.120
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  name: kubernetes-master
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:
  type: CoreDNS
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.19.4
networking:
  dnsDomain: cluster.local
  podSubnet: "10.244.0.0/16"
  serviceSubnet: 10.96.0.0/12
scheduler: {}

重要

advertiseAddress: 192.168.8.120 # 改为自己的IP
imageRepository: registry.aliyuncs.com/google_containers # 设置镜像仓库
podSubnet: "10.244.0.0/16"

拉取镜像

kubeadm config images pull --config kubeadm.yml

安装

kubeadm init --config=kubeadm.yml --upload-certs | tee kubeadm-init.log
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

主节点安装完成

  1. 从节点安装

在从节点执行如下,请自行替换kubeadm-init.log中的内容

kubeadm join 192.168.8.120:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:c95005bd338a4e6bec73076b7d095246f61e494a23d6c4691371eff4a1b3a577

即可安装成功

root@kubernetes-master:/# kubectl get node
NAME                STATUS     ROLES    AGE     VERSION
kubernetes-master   NotReady   master   30m     v1.19.4
kubernetes-node1    NotReady   <none>   29m     v1.19.4
kubernetes-node2    NotReady   <none>   4m39s   v1.19.4

如果想在从节点也可以执行kubectl get node,需要将主节点/etc/kubernetes/admin.conf复制到从节点相应目录下,并执行如下

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /root/.bash_profile
source /root/.bash_profile
  1. 安装calico

calico官网可以查看具体执行步骤,这里直接

kubectl apply -f https://docs.projectcalico.org/archive/v3.12/manifests/calico.yaml

即可安装成功😄

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值