k8s使用docker私有仓库配置并测试k8s集群【简记】
# 在所有节点docker配置文件中加入 私有仓库地址(解决安全认证问题)vi /etc/docker/deamon.json},"insecure-registries": ["https://hub.myhub.com"]}# 重启dockersystemctl restart docker# 添加hostvi /etc/host192.168.2.2 hub.myhub.com# 一下操作在
·
# 在所有节点docker配置文件中加入 私有仓库地址(解决安全认证问题)
vi /etc/docker/deamon.json
},
"insecure-registries": ["https://hub.myhub.com"]
}
# 重启docker
systemctl restart docker
# 添加host
vi /etc/host
192.168.2.2 hub.myhub.com
# 一下操作在私有仓库node进行
# 上传 docker-compose
mv docker-compose /usr/local/bin
chmod a+x /usr/local/bin/docker-compose
# 上传 harbor-offline-installer-v1.2.0.tgz 并解压
tar -zxvf harbor-offline-installer-v1.2.0.tgz
mv harbor /usr/local
cd /usr/local/harbor
# 修改harbor配置文件
vi harbor.cfg
hostname = hub.myhub.com
ssl_cert = /data/cert/server.crt
# 创建ssl_cert 所需的目录
mkdir -p /data/cert
# 创建 https证书
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir /data/cert
chmod -R 777 /data/cert
# 引导安装
./harbor/install.sh
# 安装成功后登录网页
https://hub.myhub.com
用户名 admin 密码查看配置文件 /harbor/harbor.cfg
# docker 访问私有仓库
docker login https://hub.myhub.com
# 测试私有仓库
docker pull wangyanglinux/myapp:v1
docker tag wangyanglinux/myapp:v1 hub.myhub.com/libray/myapp:v1
docker push hub.myhub.com/libray/myapp:v1
# 查看私有仓库网页是否上传成功,删除images
docker rmi -f wangyanglinux/myapp:v1
docker rmi -f hub.myhub.com/libray/myapp:v1
# 测试k8s 集群是否可用 启动pod
kubectl run nginx-deployment --image=hub.myhub.com/libray/myapp:v1 --port=80 --replicas=1
# 查看 k8s状态
kubectl get deployment
kubectl get rs
kubectl get pod
kubectl get pod -o wide
docker ps |grep nginx
# 访问
curl 私有ip地址
curl 私有ip地址/hostname.html
# 测试删除pod
kubectl get pod
kubectl delete pod pod名称
kubectl get pod
通过查看可以看到 会重新新建pod ,因为指定了--replicas=1 ,k8s会保证该pod 有1个实例在运行
# 重新指定副本数(扩容)
kubectl get deployment #查看要扩容的deployment名称
kubectl scale --replicas=3 deployment/nginx-deployment
kubectl get pod -o wide
# 设置负载均衡(svc) 测试访问
kubectl expose --help #查看创建帮助
kubectl expose deployment nginx-deployment --port=30000 --target-port=80
kubectl get svc
curl nginx-deployment的IP地址:30000/hostname.html # 多次访问 测试是否为轮循机制
ipvsadm -Ln #查看lvs规则
kubectl get pod -o wide
# 设置外部访问 把svc type 设置为NodePort
kubectl get svc
kubectl edit svc nginx-deployment #修改 tpye: NodePort
kubectl get svc #再次查看svc 可以看到端口,此时通过外部访问该端口 即可访问到pod
更多推荐
已为社区贡献1条内容
所有评论(0)