kubeadm 安装k8s指定版本

yum install kubelet-1.11.2 kubectl-1.11.2 kubeadm-1.11.2
kubeadm init --kubernetes-version=v1.11.2

查看需要的镜像列表

kubeadm config images list --kubernetes-version=1.11.2
k8s.gcr.io/kube-apiserver-amd64:v1.11.2
k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
k8s.gcr.io/kube-scheduler-amd64:v1.11.2
k8s.gcr.io/kube-proxy-amd64:v1.11.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd-amd64:3.2.18
k8s.gcr.io/coredns:1.1.3

由于国内下载镜像拉不到

docker pull 

registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.11.2
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.11.2
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.11.2
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.11.2
registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.18
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3

修改tag

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.1.3 k8s.gcr.io/coredns:1.1.3

calico

相关镜像

docker.io/calico/typha                                                 v3.3.7              46ffe8db5322        7 months ago        55.3 MB docker.io/calico/node                                                  v3.3.7              3c0076aa43ee        7 months ago        75.2 MB docker.io/calico/cni

calico网络,默认是ipip模式(在每台node主机创建一个tunl0网口,这个隧道链接所有的node容器网络,官网推荐不同的ip网段适合,比如aws的不同区域主机),

修改成BGP模式,它会以daemonset方式安装在所有node主机,每台主机启动一个bird(BGP
client),它会将calico网络内的所有node分配的ip段告知集群内的主机,并通过本机的网卡eth0或者ens33转发数据;

下载calico 权限和配置文件
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
wget https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml

修改calico.yaml

  1. 修改ipip模式关闭 和typha_service_nam
- name: CALICO_IPV4POOL_IPIP
  value: "off"
    
- name: IP_AUTODETECTION_METHOD
  value: "interface=ens.*"

2)修改replicas

  replicas: 1
  revisionHistoryLimit: 2

3)修改pod的网段CALICO_IPV4POOL_CIDR

- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"

4)如果手动下载镜像请查看calico.yaml 文件里面标注的镜像版本 否则可以直接执行会自动下载
5)部署calico

kubectl apply -f calico.yaml
### 安装 Kubernetes 1.23.6 使用 kubeadm 安装 Kubernetes 1.23.6 版本时,建议使用 `kubeadm` 工具进行部署,这是一种官方推荐的安装方式。以下是详细的安装步骤: #### 1. 准备工作 在开始安装之前,确保所有节点满足以下条件: - 操作系统支持(如 Ubuntu、CentOS 等)。 - 所有节点之间可以互相通信。 - 系统时间同步(建议使用 NTP 服务)。 - 禁用 Swap 分区。 #### 2. 安装依赖 根据使用的操作系统,安装必要的依赖包。例如,在基于 CentOS 的系统上,执行以下命令: ```bash sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` #### 3. 添加 Kubernetes 仓库 添加 Kubernetes 官方仓库以获取指定版本的软件包: ```bash cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 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 exclude=kubelet kubeadm kubectl EOF ``` #### 4. 安装指定版本的 Kubernetes 组件 使用 `yum` 或 `apt-get` 安装特定版本的 `kubelet`、`kubeadm` 和 `kubectl`。以 `yum` 为例,安装 1.23.6 版本的组件: ```bash sudo yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6 --disableexcludes=kubernetes ``` 对于基于 Debian 的系统(如 Ubuntu),使用以下命令: ```bash sudo apt-get update sudo apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 ``` 安装完成后,锁定版本以防止意外升级: ```bash sudo apt-mark hold kubelet kubeadm kubectl ``` #### 5. 初始化 Kubernetes 集群 使用 `kubeadm init` 命令初始化集群。指定 Kubernetes 版本并配置网络插件: ```bash sudo kubeadm init --kubernetes-version=1.23.6 --pod-network-cidr=10.244.0.0/16 ``` 初始化完成后,配置 `kubeconfig` 文件以便普通用户可以使用 `kubectl`: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` #### 6. 部署网络插件 安装网络插件(如 Flannel)以确保 Pod 之间的网络通信: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` #### 7. 添加节点到集群 在其他节点上使用 `kubeadm join` 命令加入集群。命令格式如下: ```bash sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> ``` 例如: ```bash sudo kubeadm join 192.168.0.61:6443 --token xmsyx8.i7dl9tks9f3rz2u2 \ --discovery-token-ca-cert-hash sha256:598f3f9f145f7955d601ba6890e6c78ed986cc18912b6cdf3af545f588c52d60 ``` #### 8. 验证安装 在所有节点加入集群后,验证节点状态: ```bash kubectl get nodes ``` 如果所有节点状态为 `Ready`,则表示 Kubernetes 集群已成功部署。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值