配置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
- Jar 包執行時修改配置JAR
- 為正在執行的 Docker 容器重啟策略,以提高服務的可用性Docker
- 多執行緒併發:以AQS中acquire()方法為例來分析多執行緒間的同步與協作執行緒AQSUI
- 用大寫字母輸入 Linux 命令以將其作為 sudo 使用者執行Linux
- 在Docker容器中使用Hadoop執行Python MapReduce作業DockerHadoopPython
- 為什麼在 Plasma 上難以執行 EVMASM
- 配置php_opcache擴充套件使php7執行更加快速PHPopcache套件
- Docker 執行MySQLDockerMySql
- docker 執行 MySQLDockerMySql
- OpenHarmony執行dockerDocker
- docker 執行redisDockerRedis
- Docker執行命令Docker
- MapReduce如何作為Yarn應用程式執行?Yarn
- Flowable 6.6.0 BPMN使用者指南-(2)配置 - 2.9 作業執行器/2.10 作業執行器啟用
- 使程式執行更高效——原型模式原型模式
- Docker命令-docker exec-在執行的容器中執行命令Docker
- Flink 批作業的執行時自適應執行管控
- maixcam如何無腦執行執行別人的模型(以安全帽模型為例)AI模型
- 如何使前端 Docker 化專案的請求地址可配置?前端Docker
- Youki:用 Rust 編寫的更快Docker容器執行時RustDocker
- eos docker執行後無法執行cleosDocker
- docker執行golang可執行檔案最簡docker-compose fileDockerGolang
- Spring Task 定時任務 - 多執行緒配置Spring執行緒
- nacos作為配置中心
- 使用docker執行nginx服務,掛載自定義配置檔案DockerNginx
- 500行程式碼手寫docker-以新名稱空間執行程式行程Docker
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- Docker容器執行時許可權和Linux系統功能DockerLinux
- DMAIC如何作為解決問題的方法執行?AI
- 群暉 Synology 讓出80和443埠 並 使當前使用者能執行docker命令Docker
- 使用docker執行CentOS容器DockerCentOS
- Docker部署並執行ElasticsearchDockerElasticsearch
- Docker執行資源控制Docker
- python之為函式執行設定超時時間(允許函式執行的最大時間)Python函式
- idea配置tomcat時,執行按鈕灰色禁用狀態IdeaTomcat