Calico Install#
镜像下载#
docker pull docker.io/calico/cni:v3.24.5
docker pull docker.io/calico/node:v3.24.5
docker pull docker.io/calico/kube-controllers:v3.24.5
docker tag docker.io/calico/cni:v3.24.5 reg.jevic.cn/k8s/calico/cni:v3.24.5
docker tag docker.io/calico/node:v3.24.5 reg.jevic.cn/k8s/calico/node:v3.24.5
docker tag docker.io/calico/kube-controllers:v3.24.5 reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5
docker push reg.jevic.cn/k8s/calico/cni:v3.24.5
docker push reg.jevic.cn/k8s/calico/node:v3.24.5
docker push reg.jevic.cn/k8s/calico/kube-controllers:v3.24.5
配置调整#
.
├── 01_cm.yml
├── 02_role.yml
├── 03_deploy.yml
└── calico.yaml
ENP="https://10.x:2379,https://10.x:2379,https://10.x:2379"
ETCD_KEY_BASE=`cat /etc/kubernetes/pki/etcd/server.key | base64 | tr -d '\n'`
ETCD_CERT_BASE=`cat /etc/kubernetes/pki/etcd/server.crt | base64 | tr -d '\n'`
ETCD_CA_BASE=`cat /etc/kubernetes/pki/etcd/ca.crt| base64 | tr -d '\n'`
sed -i "s#ENP#$ENP#g" 01_cm.yml
sed -i "s/ETCD_KEY_BASE/$ETCD_KEY_BASE/g" 01_cm.yml
sed -i "s/ETCD_CERT_BASE/$ETCD_CERT_BASE/g" 01_cm.yml
sed -i "s/ETCD_CA_BASE/$ETCD_CA_BASE/g" 01_cm.yml
cat >/etc/calico/calicoctl.cfg <<EOF
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
etcdEndpoints: "$ENP"
etcdKeyFile: /etc/kubernetes/pki/etcd/server.key
etcdCertFile: /etc/kubernetes/pki/etcd/server.crt
etcdCACertFile: /etc/kubernetes/pki/etcd/ca.crt
EOF
nginx-demo#
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: nginx
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
containers:
- image: nginx:alpine
imagePullPolicy: IfNotPresent
name: nginx
污点去除#
kubectl taint node master-103-113 node-role.kubernetes.io/control-plane-
kubectl taint node master-103-113 node-role.kubernetes.io/master-
添加:
kubectl taint node master-103-113 node-role.kubernetes.io/control-plane:NoSchedule
kubectl taint node master-103-113 node-role.kubernetes.io/master:NoSchedule
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人