配置cri-docker使kubernetes1.24以docker作為執行時
實驗環境
一.所有節點的基本設定
1.所有節點設定好/etc/hosts,使它們之間能互相解析
[root@vms4X ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.26.41 vms41.rhce.cc vms41 192.168.26.42 vms42.rhce.cc vms42 [root@vms4X ~]#
2.在所有節點上關閉swap分割槽
[root@vms4X ~]# swapoff -a ; sed -i '/fstab/d' /etc/fstab [root@vms4X ~]#
3.在所有節點上更新yum源
[root@vms4X ~]# rm -rf /etc/yum.repos.d/* ; wget ftp://ftp.rhce.cc/k8s/* -P /etc/yum.repos.d/ [root@vms4X ~]# yum clean all [root@vms4X ~]#
4.在所有節點安裝docker
[root@vms4X ~]# yum install docker-ce -y
[root@vms4X ~]# systemctl enable docker --now
cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": ["], "exec-opts": ["native.cgroupdriver=systemd"] } EOF
[root@vms4X ~]# systemctl restart docker
5.在所有節點安裝cri-docker
[root@vms41 ~]# tar zxf cri-dockerd-0.2.1.amd64.tgz [root@vms41 ~]# cp cri-dockerd/cri-dockerd /usr/bin/ [root@vms41 ~]# scp /usr/bin/cri-dockerd vms42:/usr/bin/ root@vms42's password: cri-dockerd 100% 50MB 117.2MB/s 00:00 [root@vms41 ~]#
6.設定系統引數
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF
[root@vms4X ~]# sysctl -p /etc/sysctl.d/k8s.conf [root@vms4X ~]#
7.建立cri-docker啟動檔案
[root@vms41 ~]# cat /usr/lib/systemd/system/cri-docker.service [Unit] Description=CRI Interface for Docker Application Container Engine Documentation= After=network-online.target firewalld.service docker.service Wants=network-online.target Requires=cri-docker.socket [Service] Type=notify ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7 ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always StartLimitBurst=3 StartLimitInterval=60s LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TasksMax=infinity Delegate=yes KillMode=process [Install] WantedBy=multi-user.target [root@vms41 ~]#
[root@vms41 ~]# cat /usr/lib/systemd/system/cri-docker.socket [Unit] Description=CRI Docker Socket for the API PartOf=cri-docker.service [Socket] ListenStream=%t/cri-dockerd.sock SocketMode=0660 SocketUser=root SocketGroup=docker [Install] WantedBy=sockets.target [root@vms41 ~]#
8.把啟動指令碼複製到vms42上
[root@vms41 ~]# scp /usr/lib/systemd/system/cri-docker.socket /usr/lib/systemd/system/cri-docker.service vms42:/usr/lib/systemd/system/ root@vms42's password: cri-docker.socket 100% 204 103.1KB/s 00:00 cri-docker.service 100% 605 822.7KB/s 00:00 [root@vms41 ~]#
[root@vms41 ~]# systemctl daemon-reload ; systemctl enable cri-docker --now Created symlink from /etc/systemd/system/multi-user.target.wants/cri-docker.service to /usr/lib/systemd/system/cri-docker.service. [root@vms41 ~]# [root@vms4X ~]# systemctl is-active cri-docker active [root@vms4X ~]#
二.安裝kubernetes
[root@vms41 ~]#yum list --showduplicates kubeadm --disableexcludes=kubernetes
[root@vms4X ~]#yum install -y kubelet-1.24.1-0 kubeadm-1.24.1-0 kubectl-1.24.1-0 --disableexcludes=kubernetes [root@vms4X ~]#
[root@vms4X ~]# systemctl enable kubelet --now Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service. [root@vms4X ~]#
[root@vms41 ~]# systemctl is-active kubelet activating [root@vms41 ~]#
三.初始化kubernetes
1.在master(vms41)上初始化叢集
[root@vms41 ~]# kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.24.1 --pod-network-cidr=10.244.0.0/16 --cri-socket /var/run/cri-dockerd.sock
[root@vms41 ~]# mkdir -p $HOME/.kube [root@vms41 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@vms41 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config [root@vms41 ~]#
2.把worker加入叢集
[root@vms42 ~]# kubeadm join 192.168.26.41:6443 --token l05cgf.kj5dvy5heki3jixt --discovery-token-ca-cert-hash sha256:07c1765ff4ac6eb2e54ed69fa57ca1afc728e825a6d4a11a83c96ff60ea545cd --cri-socket /var/run/cri-dockerd.sock [root@vms42 ~]#
[root@vms41 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION vms41.rhce.cc NotReady control-plane 4m12s v1.24.1 vms42.rhce.cc NotReady <none> 13s v1.24.1 [root@vms41 ~]#
四.安裝calico
[root@vms41 ~]# kubectl apply -f calico.yaml [root@vms41 ~]#
五.驗證
[root@vms41 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION vms41.rhce.cc Ready control-plane 11m v1.24.1 vms42.rhce.cc Ready <none> 7m20s v1.24.1 [root@vms41 ~]# [root@vms41 ~]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME vms41.rhce.cc Ready control-plane 11m v1.24.1 192.168.26.41 <none> CentOS Linux 7 (Core) 3.10.0-693.el7.x86_64 docker://20.10.17 vms42.rhce.cc Ready <none> 7m23s v1.24.1 192.168.26.42 <none> CentOS Linux 7 (Core) 3.10.0-693.el7.x86_64 docker://20.10.17 [root@vms41 ~]#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2907598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯] 將 React 作為 UI 執行時ReactUI
- 把 React 作為 UI 執行時來使用ReactUI
- 將手機作為伺服器執行docker服務伺服器Docker
- 使用 Docker 和 Kubernetes 將 MongoDB 作為微服務執行DockerMongoDB微服務
- 為正在執行的 Docker 容器重啟策略,以提高服務的可用性Docker
- Jar 包執行時修改配置JAR
- 作業系統何時執行?作業系統
- ZKUI中文編碼以及以docker方式執行的問題UIDocker
- 多執行緒併發:以AQS中acquire()方法為例來分析多執行緒間的同步與協作執行緒AQSUI
- fn project 執行時配置選項Project
- 為什麼在 Plasma 上難以執行 EVMASM
- 用大寫字母輸入 Linux 命令以將其作為 sudo 使用者執行Linux
- 以autotrace檢視執行計劃時換行的解決
- 為TensorFlow引入即時執行
- docker 執行 MySQLDockerMySql
- Docker 執行 jarDockerJAR
- Docker 執行MySQLDockerMySql
- Docker執行命令Docker
- docker 執行redisDockerRedis
- 配置php_opcache擴充套件使php7執行更加快速PHPopcache套件
- MapReduce如何作為Yarn應用程式執行?Yarn
- 配置監聽器,建立執行緒定時執行業務邏輯執行緒行業
- maixcam如何無腦執行執行別人的模型(以安全帽模型為例)AI模型
- Docker命令-docker exec-在執行的容器中執行命令Docker
- 使程式執行更高效——原型模式原型模式
- Youki:用 Rust 編寫的更快Docker容器執行時RustDocker
- 如何使前端 Docker 化專案的請求地址可配置?前端Docker
- 將程式製作為服務執行的方法
- 在Docker容器中使用Hadoop執行Python MapReduce作業DockerHadoopPython
- 如何在 Windows 作業系統中執行 Docker 客戶端Windows作業系統Docker客戶端
- 為Docker容器配置固定IPDocker
- Flowable 6.6.0 BPMN使用者指南-(2)配置 - 2.9 作業執行器/2.10 作業執行器啟用
- 500行程式碼手寫docker-以新名稱空間執行程式行程Docker
- 【sudo】配置sudoers實現oracle使用者以root身份執行命令Oracle
- PowerShell定時記錄作業系統行為作業系統
- Flink 批作業的執行時自適應執行管控
- 配置PHP使之能同時支援GIF和JPEG (轉)PHP
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼